c41e5063b7
Removed entire kbx-foundation-v36 directory as it's been replaced by the new KBX Foundation v4 patterns implemented in this session: - Registry-driven screen definitions - Density-aware UI adapter components - Feature module templates (ShadowRun, Models) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
36 lines
2.4 KiB
Vue
36 lines
2.4 KiB
Vue
<script setup lang="ts">
|
|
import type { KbxAsyncState, KbxProblem, KbxScreenDefinition, KbxSummaryItem, KbxTemplateContext, KbxWorkQueueCounter } from '@kbx/contracts'
|
|
import KbxQueuePage from './KbxQueuePage.vue'
|
|
|
|
withDefaults(defineProps<{
|
|
screen:KbxScreenDefinition
|
|
selectionCount?:number
|
|
can?:(permission:string)=>boolean
|
|
breadcrumb?:string
|
|
context?:KbxTemplateContext|null
|
|
contentState?:KbxAsyncState
|
|
refreshing?:boolean
|
|
errorRetryable?:boolean
|
|
summaryItems?:KbxSummaryItem[]
|
|
exceptionCounters?:KbxWorkQueueCounter[]
|
|
activeExceptionKey?:string|null
|
|
problem?:KbxProblem|null
|
|
problemActionAllowlist?:readonly string[]
|
|
}>(), { context:null, contentState:'ready', refreshing:false, errorRetryable:true, summaryItems:()=>[], exceptionCounters:()=>[], activeExceptionKey:null, problem:null, problemActionAllowlist:()=>[] })
|
|
const emit=defineEmits<{ command:[string]; exceptionFilter:[string|null]; problemAction:[string]; retryProblem:[]; dismissProblem:[] }>()
|
|
</script>
|
|
|
|
<template>
|
|
<KbxQueuePage :screen="screen" :selection-count="selectionCount" :can="can" :breadcrumb="breadcrumb" :context="context" :content-state="contentState" :refreshing="refreshing" :error-retryable="errorRetryable" :summary-items="summaryItems" :exception-counters="exceptionCounters" :active-exception-key="activeExceptionKey" :problem="problem" :problem-action-allowlist="problemActionAllowlist" @command="emit('command',$event)" @exception-filter="emit('exceptionFilter',$event)" @problem-action="emit('problemAction',$event)" @retry-problem="emit('retryProblem')" @dismiss-problem="emit('dismissProblem')">
|
|
<template v-if="$slots.utility" #utility><slot name="utility" /></template>
|
|
<template v-if="$slots.notice" #notice><slot name="notice" /></template>
|
|
<template v-if="$slots.search" #search><slot name="search" /></template>
|
|
<template v-if="$slots['queue-summary'] || $slots.summary" #summary><slot name="queue-summary"><slot name="summary" /></slot></template>
|
|
<template v-if="$slots.exceptions" #exceptions><slot name="exceptions" /></template>
|
|
<template v-if="$slots.contextual" #contextual><slot name="contextual" /></template>
|
|
<template #content><slot name="content" /></template>
|
|
<template v-if="$slots.footer" #footer><slot name="footer" /></template>
|
|
<template v-if="$slots.detail" #detail><slot name="detail" /></template>
|
|
</KbxQueuePage>
|
|
</template>
|