@robot-admin/naive-ui-components 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +9 -5
- package/README_EN.md +9 -5
- package/dist/C_ActionBar.d.cts +2 -1
- package/dist/C_ActionBar.d.ts +2 -1
- package/dist/C_AntV2.cjs +3 -3
- package/dist/C_AntV2.js +3 -3
- package/dist/C_BatchResult.cjs +1 -0
- package/dist/C_BatchResult.css +32 -0
- package/dist/C_BatchResult.d.cts +2 -0
- package/dist/C_BatchResult.d.ts +2 -0
- package/dist/C_BatchResult.js +1 -0
- package/dist/C_BatchResult2.cjs +1 -0
- package/dist/C_BatchResult2.js +1 -0
- package/dist/C_Breadcrumb.d.cts +2 -2
- package/dist/C_Breadcrumb.d.ts +1 -1
- package/dist/C_Captcha.d.ts +2 -0
- package/dist/C_Cascade.d.cts +1 -1
- package/dist/C_Cascade.d.ts +1 -1
- package/dist/C_Chat.d.cts +1 -1
- package/dist/C_Chat.d.ts +1 -1
- package/dist/C_City.d.cts +1 -1
- package/dist/C_City.d.ts +1 -1
- package/dist/C_Code.d.cts +1 -1
- package/dist/C_Code.d.ts +1 -1
- package/dist/C_ContextMenu.d.cts +1 -1
- package/dist/C_ContextMenu.d.ts +1 -1
- package/dist/C_DataPicker.cjs +1 -0
- package/dist/C_DataPicker.css +54 -0
- package/dist/C_DataPicker.d.cts +2 -0
- package/dist/C_DataPicker.d.ts +5 -0
- package/dist/C_DataPicker.js +1 -0
- package/dist/C_DataPicker2.cjs +1 -0
- package/dist/C_DataPicker2.js +1 -0
- package/dist/C_Date.d.cts +1 -1
- package/dist/C_Date.d.ts +1 -1
- package/dist/C_Density.cjs +1 -0
- package/dist/C_Density.css +1 -0
- package/dist/C_Density.d.cts +3 -0
- package/dist/C_Density.d.ts +3 -0
- package/dist/C_Density.js +1 -0
- package/dist/C_Density2.cjs +1 -0
- package/dist/C_Density2.js +1 -0
- package/dist/C_Editor.d.cts +1 -1
- package/dist/C_Editor.d.ts +1 -1
- package/dist/C_ErrorSummary.cjs +1 -0
- package/dist/C_ErrorSummary.css +29 -0
- package/dist/C_ErrorSummary.d.cts +3 -0
- package/dist/C_ErrorSummary.d.ts +3 -0
- package/dist/C_ErrorSummary.js +1 -0
- package/dist/C_ErrorSummary2.cjs +1 -0
- package/dist/C_ErrorSummary2.js +1 -0
- package/dist/C_Form.base.css +150 -148
- package/dist/C_Form.cjs +1 -1
- package/dist/C_Form.css +151 -253
- package/dist/C_Form.d.cts +3 -1
- package/dist/C_Form.d.ts +19 -1
- package/dist/C_Form.js +1 -1
- package/dist/C_FormModal.css +11 -12
- package/dist/C_FormModal.d.cts +1 -1
- package/dist/C_FormModal.d.ts +18 -2
- package/dist/C_FormModal2.cjs +1 -1
- package/dist/C_FormModal2.js +1 -1
- package/dist/C_FormSearch.cjs +1 -1
- package/dist/C_FormSearch.css +128 -56
- package/dist/C_FormSearch.d.cts +3 -3
- package/dist/C_FormSearch.d.ts +5 -3
- package/dist/C_FormSearch.js +1 -1
- package/dist/C_FormulaEditor.d.cts +1 -1
- package/dist/C_FormulaEditor.d.ts +1 -1
- package/dist/C_Guide.d.cts +1 -1
- package/dist/C_Guide.d.ts +1 -1
- package/dist/C_Icon.d.cts +1 -1
- package/dist/C_Icon.d.ts +1 -1
- package/dist/C_Language.d.cts +1 -1
- package/dist/C_Language.d.ts +1 -1
- package/dist/C_Loading.d.cts +1 -1
- package/dist/C_Loading.d.ts +1 -1
- package/dist/C_Login.d.cts +1 -1
- package/dist/C_Login.d.ts +4 -1
- package/dist/C_Markdown.d.cts +1 -1
- package/dist/C_Markdown.d.ts +1 -1
- package/dist/C_Menu.d.cts +2 -2
- package/dist/C_Menu.d.ts +1 -1
- package/dist/C_OrgChart.d.cts +1 -1
- package/dist/C_OrgChart.d.ts +1 -1
- package/dist/C_Progress.d.cts +1 -1
- package/dist/C_Progress.d.ts +1 -1
- package/dist/C_SectionNav.cjs +1 -0
- package/dist/C_SectionNav.css +46 -0
- package/dist/C_SectionNav.d.cts +2 -0
- package/dist/C_SectionNav.d.ts +2 -0
- package/dist/C_SectionNav.js +1 -0
- package/dist/C_SectionNav2.cjs +1 -0
- package/dist/C_SectionNav2.js +1 -0
- package/dist/C_Skeleton.d.cts +1 -1
- package/dist/C_Skeleton.d.ts +1 -1
- package/dist/C_Steps.d.cts +1 -1
- package/dist/C_Steps.d.ts +1 -1
- package/dist/C_Table.base.css +258 -256
- package/dist/C_Table.cjs +1 -1
- package/dist/C_Table.css +109 -1283
- package/dist/C_Table.d.cts +2 -1
- package/dist/C_Table.d.ts +11 -7
- package/dist/C_Table.js +1 -1
- package/dist/C_Table2.cjs +3 -0
- package/dist/C_Table2.js +3 -0
- package/dist/C_Tabs.cjs +1 -1
- package/dist/C_Tabs.d.cts +1 -1
- package/dist/C_Tabs.d.ts +1 -1
- package/dist/C_Tabs.js +1 -1
- package/dist/C_TagsView.d.cts +1 -1
- package/dist/C_Theme.d.cts +1 -1
- package/dist/C_Theme.d.ts +1 -1
- package/dist/C_Timeline.d.cts +1 -1
- package/dist/C_Timeline.d.ts +1 -1
- package/dist/C_Transfer.d.cts +1 -1
- package/dist/C_Transfer.d.ts +1 -1
- package/dist/C_Tree.d.cts +1 -1
- package/dist/C_Tree.d.ts +10 -6
- package/dist/C_Upload.d.cts +1 -1
- package/dist/C_Upload.d.ts +1 -1
- package/dist/C_WorkFlow2.cjs +1 -1
- package/dist/C_WorkFlow2.js +1 -1
- package/dist/Card.cjs +1 -1
- package/dist/Card.js +1 -1
- package/dist/Steps.cjs +1 -1
- package/dist/Steps.js +1 -1
- package/dist/Tabs.cjs +1 -1
- package/dist/Tabs.js +1 -1
- package/dist/batchPatch.cjs +1 -0
- package/dist/batchPatch.d.cts +26 -0
- package/dist/batchPatch.d.ts +26 -0
- package/dist/batchPatch.js +1 -0
- package/dist/config.cjs +1 -1
- package/dist/config.d.cts +7 -1
- package/dist/config.d.ts +7 -1
- package/dist/config.js +1 -1
- package/dist/config2.d.ts +14 -0
- package/dist/constants.d.cts +3 -3
- package/dist/constants.d.ts +3 -3
- package/dist/constants2.d.cts +402 -173
- package/dist/constants2.d.ts +402 -173
- package/dist/constants3.d.cts +3 -3
- package/dist/constants3.d.ts +3 -3
- package/dist/constants4.d.cts +173 -402
- package/dist/constants4.d.ts +173 -402
- package/dist/constants5.d.cts +2 -2
- package/dist/constants5.d.ts +2 -2
- package/dist/data.cjs +1 -1
- package/dist/data.d.cts +5 -108
- package/dist/data.d.ts +5 -108
- package/dist/data.js +1 -1
- package/dist/data2.cjs +1 -1
- package/dist/data2.d.cts +108 -0
- package/dist/data2.d.ts +108 -0
- package/dist/data2.js +1 -1
- package/dist/data3.cjs +1 -0
- package/dist/data3.js +1 -0
- package/dist/dateRange.d.cts +108 -13
- package/dist/dateRange.d.ts +108 -13
- package/dist/density.cjs +1 -1
- package/dist/density.js +1 -1
- package/dist/dictionary.cjs +1 -0
- package/dist/dictionary.d.cts +38 -0
- package/dist/dictionary.d.ts +38 -0
- package/dist/dictionary.js +1 -0
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +65 -53
- package/dist/index.d.ts +73 -57
- package/dist/index.js +1 -1
- package/dist/index.vue.d.cts +1 -1
- package/dist/index.vue.d.ts +1 -1
- package/dist/index10.vue.d.cts +37 -80
- package/dist/index10.vue.d.ts +77 -53
- package/dist/index11.vue.d.cts +77 -53
- package/dist/index11.vue.d.ts +1117 -45
- package/dist/index12.vue.d.cts +1117 -45
- package/dist/index12.vue.d.ts +17 -128
- package/dist/index13.vue.d.cts +17 -128
- package/dist/index13.vue.d.ts +57 -53
- package/dist/index14.vue.d.cts +57 -53
- package/dist/index14.vue.d.ts +16 -25
- package/dist/index15.vue.d.cts +16 -25
- package/dist/index15.vue.d.ts +52 -12
- package/dist/index16.vue.d.cts +52 -12
- package/dist/index16.vue.d.ts +13 -129
- package/dist/index17.vue.d.cts +13 -129
- package/dist/index17.vue.d.ts +123 -74
- package/dist/index18.vue.d.cts +123 -74
- package/dist/index18.vue.d.ts +48 -71
- package/dist/index19.vue.d.cts +40 -91
- package/dist/index19.vue.d.ts +36 -96
- package/dist/index2.vue.d.cts +2 -2
- package/dist/index2.vue.d.ts +2 -2
- package/dist/index20.vue.d.cts +38 -47
- package/dist/index20.vue.d.ts +13 -48
- package/dist/index21.vue.d.cts +12 -96
- package/dist/index21.vue.d.ts +25 -95
- package/dist/index22.vue.d.cts +20 -32
- package/dist/index22.vue.d.ts +75 -37
- package/dist/index23.vue.d.cts +77 -13
- package/dist/index23.vue.d.ts +71 -13
- package/dist/index24.vue.d.cts +2 -2
- package/dist/index24.vue.d.ts +1 -1
- package/dist/index25.vue.d.cts +116 -90
- package/dist/index25.vue.d.ts +116 -90
- package/dist/index26.vue.d.cts +94 -59
- package/dist/index26.vue.d.ts +94 -59
- package/dist/index27.vue.d.cts +75 -0
- package/dist/index27.vue.d.ts +75 -0
- package/dist/index28.vue.d.cts +103 -0
- package/dist/index28.vue.d.ts +103 -0
- package/dist/index29.vue.d.cts +105 -0
- package/dist/index29.vue.d.ts +105 -0
- package/dist/index3.vue.d.cts +4 -4
- package/dist/index3.vue.d.ts +4 -4
- package/dist/index30.vue.d.cts +28 -0
- package/dist/index30.vue.d.ts +28 -0
- package/dist/index4.vue.d.cts +19 -128
- package/dist/index4.vue.d.ts +17 -34
- package/dist/index5.vue.d.cts +127 -35
- package/dist/index5.vue.d.ts +30 -19
- package/dist/index6.vue.d.cts +30 -19
- package/dist/index6.vue.d.ts +22 -118
- package/dist/index7.vue.d.cts +22 -118
- package/dist/index7.vue.d.ts +112 -18
- package/dist/index8.vue.d.cts +112 -18
- package/dist/index8.vue.d.ts +24 -35
- package/dist/index9.vue.d.cts +24 -35
- package/dist/index9.vue.d.ts +37 -80
- package/dist/mapUtils.d.cts +4 -4
- package/dist/mapUtils.d.ts +4 -4
- package/dist/numberCodec.cjs +1 -0
- package/dist/numberCodec.d.cts +25 -0
- package/dist/numberCodec.d.ts +25 -0
- package/dist/numberCodec.js +1 -0
- package/dist/observer.cjs +1 -0
- package/dist/observer.js +1 -0
- package/dist/presets.d.cts +3 -66
- package/dist/presets.d.ts +3 -66
- package/dist/resolver.cjs +1 -1
- package/dist/resolver.d.cts +1 -1
- package/dist/resolver.d.ts +1 -1
- package/dist/resolver.js +1 -1
- package/dist/serializeSearch.cjs +1 -0
- package/dist/serializeSearch.js +1 -0
- package/dist/style.css +561 -322
- package/dist/types.d.cts +60 -103
- package/dist/types.d.ts +62 -52
- package/dist/types2.d.cts +104 -51
- package/dist/types2.d.ts +56 -0
- package/dist/types3.d.cts +56 -0
- package/dist/useCalendarEvents.d.cts +1 -1
- package/dist/useCalendarEvents.d.ts +1 -1
- package/dist/useCollapsePanel.d.cts +6 -6
- package/dist/useCollapsePanel.d.ts +6 -6
- package/dist/useComponentLocale.cjs +1 -1
- package/dist/useComponentLocale.js +1 -1
- package/dist/useCropperCore.d.cts +13 -13
- package/dist/useCropperCore.d.ts +13 -13
- package/dist/useDataResource.cjs +1 -0
- package/dist/useDataResource.js +1 -0
- package/dist/useDictionary.cjs +1 -0
- package/dist/useDictionary.js +1 -0
- package/dist/useDynamicFormState.d.cts +959 -582
- package/dist/useDynamicFormState.d.ts +951 -584
- package/dist/useEdgeInteraction.d.cts +3 -3
- package/dist/useEdgeInteraction.d.ts +3 -3
- package/dist/useFormArray.cjs +1 -0
- package/dist/useFormArray.d.cts +69 -0
- package/dist/useFormArray.d.ts +69 -0
- package/dist/useFormArray.js +1 -0
- package/dist/useFormConfig.cjs +1 -0
- package/dist/useFormConfig.d.cts +590 -0
- package/dist/useFormConfig.d.ts +590 -0
- package/dist/useFormConfig.js +1 -0
- package/dist/useFullscreen.d.cts +3 -3
- package/dist/useFullscreen.d.ts +3 -3
- package/dist/useGridWidth.cjs +1 -0
- package/dist/useGridWidth.js +1 -0
- package/dist/useInfiniteScroll.d.cts +2 -2
- package/dist/useInfiniteScroll.d.ts +2 -2
- package/dist/useQRCode.d.cts +3 -3
- package/dist/useQRCode.d.ts +3 -3
- package/dist/useSignatureHistory.d.cts +4 -4
- package/dist/useSignatureHistory.d.ts +4 -4
- package/dist/useSplitResize.d.cts +5 -5
- package/dist/useSplitResize.d.ts +5 -5
- package/dist/useTableGlobalConfig.cjs +1 -0
- package/dist/useTableGlobalConfig.js +1 -0
- package/dist/useTableQuery.cjs +1 -3
- package/dist/useTableQuery.js +1 -3
- package/dist/useWorkflowValidation.d.cts +6 -6
- package/dist/useWorkflowValidation.d.ts +6 -6
- package/dist/validation.cjs +1 -0
- package/dist/validation.d.cts +18 -0
- package/dist/validation.d.ts +18 -0
- package/dist/validation.js +1 -0
- package/dist/verification.d.cts +4 -4
- package/dist/verification.d.ts +4 -4
- package/dist/workflows.cjs +1 -0
- package/dist/workflows.d.cts +2 -0
- package/dist/workflows.d.ts +2 -0
- package/dist/workflows.js +1 -0
- package/docs/components.en.md +13 -1
- package/docs/components.md +13 -1
- package/docs/guides/batch-results.md +47 -0
- package/docs/guides/data-picker.md +65 -0
- package/docs/guides/data-workflows.md +123 -0
- package/docs/guides/form-density.en.md +56 -3
- package/docs/guides/form-density.md +56 -3
- package/docs/guides/search-workflows.md +164 -0
- package/docs/guides/usage.en.md +1 -1
- package/package.json +21 -1
- package/dist/C_FormSearch2.cjs +0 -1
- package/dist/C_FormSearch2.js +0 -1
- package/dist/useTableQuery.d.cts +0 -1957
- package/dist/useTableQuery.d.ts +0 -1957
|
@@ -264,11 +264,11 @@ declare const __VLS_export: vue.DefineComponent<Props, {
|
|
|
264
264
|
onReady?: ((graph: Graph) => any) | undefined;
|
|
265
265
|
"onData-change"?: ((data: DiagramData) => any) | undefined;
|
|
266
266
|
}>, {
|
|
267
|
-
|
|
267
|
+
showToolbar: boolean;
|
|
268
268
|
height: string | number;
|
|
269
|
-
theme: "light" | "dark";
|
|
270
269
|
width: string | number;
|
|
271
|
-
|
|
270
|
+
readonly: boolean;
|
|
271
|
+
theme: "light" | "dark";
|
|
272
272
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
273
273
|
declare const _default: typeof __VLS_export;
|
|
274
274
|
//#endregion
|
|
@@ -264,11 +264,11 @@ declare const __VLS_export: vue.DefineComponent<Props, {
|
|
|
264
264
|
onReady?: ((graph: Graph) => any) | undefined;
|
|
265
265
|
"onData-change"?: ((data: DiagramData) => any) | undefined;
|
|
266
266
|
}>, {
|
|
267
|
-
|
|
267
|
+
showToolbar: boolean;
|
|
268
268
|
height: string | number;
|
|
269
|
-
theme: "light" | "dark";
|
|
270
269
|
width: string | number;
|
|
271
|
-
|
|
270
|
+
readonly: boolean;
|
|
271
|
+
theme: "light" | "dark";
|
|
272
272
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
273
273
|
declare const _default: typeof __VLS_export;
|
|
274
274
|
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk.cjs`);const e=require(`./validation.cjs`),t=require(`./data2.cjs`);let n=require(`vue`);function r(t,n){return{...n,source:t,key:e.n(t,n.message,n.target,n.key),target:n.target?{...n.target}:void 0}}function i(){let t=(0,n.shallowRef)(new Map),i=(0,n.shallowRef)([]),a=(0,n.shallowRef)(!1),o=(0,n.shallowRef)(null),s=0,c=!1,l,u,d=0,f=()=>{s++;let e=l;l=void 0,u=void 0,e?.abort(),!l&&!u&&(a.value=!1)},p=e=>{if(c)throw Error(`校验区域已销毁`);let{id:n}=e;if(!n||t.value.has(n))throw Error(`校验区域标识必须唯一:${n}`);if(f(),c)throw Error(`校验区域已销毁`);if(t.value.has(n))throw Error(`校验区域标识必须唯一:${n}`);return t.value=new Map(t.value).set(n,e),()=>{if(t.value.get(n)!==e||(f(),c||t.value.get(n)!==e))return;let r=new Set(i.value.filter(e=>e.source===n));if(d++,o.value=null,c||t.value.get(n)!==e)return;let a=new Map(t.value);a.delete(n),t.value=a,c||(i.value=i.value.filter(e=>!r.has(e)))}},m=()=>{if(c)return Promise.resolve(!1);if(u)return u;let n=s,o=new AbortController;l=o;let d=()=>!c&&n===s&&l===o&&!o.signal.aborted,f=Promise.resolve().then(async()=>{if(c||n!==s)return!1;let a=await Promise.all([...t.value].map(async([t,n])=>{if(!d())return[];try{let e=await n.validate(o.signal);return d()?(e??[]).map(e=>r(t,e)):[]}catch(n){return d()?e.t(n,t):[]}}));if(c||n!==s)return!1;let l=new Map;for(let e of a)for(let t of e)l.set(t.key,t);let u=[...l.values()];return i.value=u,n===s&&!c&&u.length===0}),p=()=>{l===o&&(l=void 0,u=void 0,a.value=!1)},m=f.then(e=>(p(),!c&&n===s&&e),e=>{throw p(),e});return u=m,a.value=!0,m},h=async e=>{if(c)return!1;let n=++d,{source:r}=e,i=t.value.get(r),a=()=>!c&&n===d&&t.value.get(r)===i;if(o.value=null,!a()||!i?.reveal)return!1;try{let t=await i.reveal({...e,target:e.target?{...e.target}:void 0});return a()&&t!==!1}catch(e){return a()&&(o.value=e),!1}},g=()=>{f(),d++,o.value=null,i.value=[]},_=()=>{c||(c=!0,g(),t.value=new Map)};return(0,n.getCurrentScope)()&&(0,n.onScopeDispose)(_),{issues:i,validating:a,navigationError:o,dirty:(0,n.computed)(()=>[...t.value.values()].some(e=>e.dirty?.())),register:p,validate:m,reveal:h,clear:g,dispose:_}}function a(e=[],r={}){let i=r.maxRows??1e3;if(!Number.isInteger(i)||i<1)throw RangeError(`maxRows 必须是正整数`);let a=0,o=t.t(e),s=(0,n.shallowRef)([]),c=e=>({key:`row-${a++}`,value:(0,n.reactive)(t.t(e))}),l=(e=o)=>{if(e.length>i)throw RangeError(`重复表单超出 maxRows`);s.value=e.map(c)};return l(),{items:s,append:e=>{if(s.value.length>=i)throw RangeError(`重复表单超出 maxRows`);let t=c(e);return s.value=[...s.value,t],t.key},remove:e=>{let t=s.value.filter(t=>t.key!==e);return t.length===s.value.length?!1:(s.value=t,!0)},move:(e,t)=>{let n=s.value.find(t=>t.key===e);if(!n||e===t||t!==null&&!s.value.some(e=>e.key===t))return!1;let r=s.value.filter(e=>e!==n),i=t===null?r.length:r.findIndex(e=>e.key===t);return r.splice(i,0,n),s.value=r,!0},reset:l,getValues:()=>s.value.map(e=>t.t(e.value))}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { t as ValidationIssue } from "./validation.cjs";
|
|
2
|
+
import * as vue from "vue";
|
|
3
|
+
import { MaybeRefOrGetter, UnwrapNestedRefs } from "vue";
|
|
4
|
+
|
|
5
|
+
//#region src/composables/useDataResource.d.ts
|
|
6
|
+
type DataResourceStatus = 'idle' | 'loading' | 'ready' | 'empty' | 'error';
|
|
7
|
+
interface DataResourceOptions<K extends string | number, T> {
|
|
8
|
+
key: MaybeRefOrGetter<K | null | undefined>;
|
|
9
|
+
load: (context: {
|
|
10
|
+
key: K;
|
|
11
|
+
signal: AbortSignal;
|
|
12
|
+
}) => Promise<T>;
|
|
13
|
+
/** undefined 表示未提供本地源;[]、null 等其它值均由本地源拥有。 */
|
|
14
|
+
source?: MaybeRefOrGetter<T | undefined>;
|
|
15
|
+
immediate?: boolean;
|
|
16
|
+
isEmpty?: (data: T) => boolean;
|
|
17
|
+
onError?: (error: unknown) => void;
|
|
18
|
+
}
|
|
19
|
+
/** 独立区域的请求状态,既不持有全局缓存,也不决定业务主从关系。 */
|
|
20
|
+
declare function useDataResource<K extends string | number, T>(options: DataResourceOptions<K, T>): {
|
|
21
|
+
data: vue.ShallowRef<T | undefined, T | undefined>;
|
|
22
|
+
error: vue.ShallowRef<unknown, unknown>;
|
|
23
|
+
status: vue.ShallowRef<DataResourceStatus, DataResourceStatus>;
|
|
24
|
+
loading: vue.ComputedRef<boolean>; /** 同一 key 刷新失败时保留原展示,但明确标为旧快照。 */
|
|
25
|
+
stale: vue.ComputedRef<boolean>;
|
|
26
|
+
reload: () => Promise<boolean>;
|
|
27
|
+
abort: () => void;
|
|
28
|
+
dispose: () => void;
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/composables/useValidationScope.d.ts
|
|
32
|
+
interface ValidationParticipant {
|
|
33
|
+
id: string;
|
|
34
|
+
dirty?: () => boolean;
|
|
35
|
+
validate: (signal: AbortSignal) => void | readonly ValidationIssue[] | Promise<void | readonly ValidationIssue[]>;
|
|
36
|
+
/** 先切 Tab/展开分区,再定位稳定 rowKey/field;返回 false 表示目标不存在。 */
|
|
37
|
+
reveal?: (issue: ValidationIssue) => boolean | void | Promise<boolean | void>;
|
|
38
|
+
}
|
|
39
|
+
/** 注册当前真实区域,不遍历整张业务单据的数据图。 */
|
|
40
|
+
declare function useValidationScope(): {
|
|
41
|
+
issues: vue.ShallowRef<readonly ValidationIssue[], readonly ValidationIssue[]>;
|
|
42
|
+
validating: vue.ShallowRef<boolean, boolean>;
|
|
43
|
+
navigationError: vue.ShallowRef<unknown, unknown>;
|
|
44
|
+
dirty: vue.ComputedRef<boolean>;
|
|
45
|
+
register: (participant: ValidationParticipant) => () => void;
|
|
46
|
+
validate: () => Promise<boolean>;
|
|
47
|
+
reveal: (issue: ValidationIssue) => Promise<boolean>;
|
|
48
|
+
clear: () => void;
|
|
49
|
+
dispose: () => void;
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/composables/useFormArray.d.ts
|
|
53
|
+
interface FormArrayEntry<T extends object> {
|
|
54
|
+
readonly key: string;
|
|
55
|
+
value: UnwrapNestedRefs<T>;
|
|
56
|
+
}
|
|
57
|
+
/** 所有 key 仅属于此实例,增删移动不会把另一行的校验/草稿借给当前行。 */
|
|
58
|
+
declare function useFormArray<T extends object>(initial?: readonly T[], options?: {
|
|
59
|
+
maxRows?: number;
|
|
60
|
+
}): {
|
|
61
|
+
items: vue.ShallowRef<readonly FormArrayEntry<T>[], readonly FormArrayEntry<T>[]>;
|
|
62
|
+
append: (value: T) => string;
|
|
63
|
+
remove: (key: string) => boolean;
|
|
64
|
+
move: (key: string, before: string | null) => boolean;
|
|
65
|
+
reset: (values?: readonly T[]) => void;
|
|
66
|
+
getValues: () => T[];
|
|
67
|
+
};
|
|
68
|
+
//#endregion
|
|
69
|
+
export { DataResourceOptions as a, useValidationScope as i, useFormArray as n, DataResourceStatus as o, ValidationParticipant as r, useDataResource as s, FormArrayEntry as t };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { t as ValidationIssue } from "./validation.js";
|
|
2
|
+
import * as vue from "vue";
|
|
3
|
+
import { MaybeRefOrGetter, UnwrapNestedRefs } from "vue";
|
|
4
|
+
|
|
5
|
+
//#region src/composables/useDataResource.d.ts
|
|
6
|
+
type DataResourceStatus = 'idle' | 'loading' | 'ready' | 'empty' | 'error';
|
|
7
|
+
interface DataResourceOptions<K extends string | number, T> {
|
|
8
|
+
key: MaybeRefOrGetter<K | null | undefined>;
|
|
9
|
+
load: (context: {
|
|
10
|
+
key: K;
|
|
11
|
+
signal: AbortSignal;
|
|
12
|
+
}) => Promise<T>;
|
|
13
|
+
/** undefined 表示未提供本地源;[]、null 等其它值均由本地源拥有。 */
|
|
14
|
+
source?: MaybeRefOrGetter<T | undefined>;
|
|
15
|
+
immediate?: boolean;
|
|
16
|
+
isEmpty?: (data: T) => boolean;
|
|
17
|
+
onError?: (error: unknown) => void;
|
|
18
|
+
}
|
|
19
|
+
/** 独立区域的请求状态,既不持有全局缓存,也不决定业务主从关系。 */
|
|
20
|
+
declare function useDataResource<K extends string | number, T>(options: DataResourceOptions<K, T>): {
|
|
21
|
+
data: vue.ShallowRef<T | undefined, T | undefined>;
|
|
22
|
+
error: vue.ShallowRef<unknown, unknown>;
|
|
23
|
+
status: vue.ShallowRef<DataResourceStatus, DataResourceStatus>;
|
|
24
|
+
loading: vue.ComputedRef<boolean>; /** 同一 key 刷新失败时保留原展示,但明确标为旧快照。 */
|
|
25
|
+
stale: vue.ComputedRef<boolean>;
|
|
26
|
+
reload: () => Promise<boolean>;
|
|
27
|
+
abort: () => void;
|
|
28
|
+
dispose: () => void;
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/composables/useValidationScope.d.ts
|
|
32
|
+
interface ValidationParticipant {
|
|
33
|
+
id: string;
|
|
34
|
+
dirty?: () => boolean;
|
|
35
|
+
validate: (signal: AbortSignal) => void | readonly ValidationIssue[] | Promise<void | readonly ValidationIssue[]>;
|
|
36
|
+
/** 先切 Tab/展开分区,再定位稳定 rowKey/field;返回 false 表示目标不存在。 */
|
|
37
|
+
reveal?: (issue: ValidationIssue) => boolean | void | Promise<boolean | void>;
|
|
38
|
+
}
|
|
39
|
+
/** 注册当前真实区域,不遍历整张业务单据的数据图。 */
|
|
40
|
+
declare function useValidationScope(): {
|
|
41
|
+
issues: vue.ShallowRef<readonly ValidationIssue[], readonly ValidationIssue[]>;
|
|
42
|
+
validating: vue.ShallowRef<boolean, boolean>;
|
|
43
|
+
navigationError: vue.ShallowRef<unknown, unknown>;
|
|
44
|
+
dirty: vue.ComputedRef<boolean>;
|
|
45
|
+
register: (participant: ValidationParticipant) => () => void;
|
|
46
|
+
validate: () => Promise<boolean>;
|
|
47
|
+
reveal: (issue: ValidationIssue) => Promise<boolean>;
|
|
48
|
+
clear: () => void;
|
|
49
|
+
dispose: () => void;
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/composables/useFormArray.d.ts
|
|
53
|
+
interface FormArrayEntry<T extends object> {
|
|
54
|
+
readonly key: string;
|
|
55
|
+
value: UnwrapNestedRefs<T>;
|
|
56
|
+
}
|
|
57
|
+
/** 所有 key 仅属于此实例,增删移动不会把另一行的校验/草稿借给当前行。 */
|
|
58
|
+
declare function useFormArray<T extends object>(initial?: readonly T[], options?: {
|
|
59
|
+
maxRows?: number;
|
|
60
|
+
}): {
|
|
61
|
+
items: vue.ShallowRef<readonly FormArrayEntry<T>[], readonly FormArrayEntry<T>[]>;
|
|
62
|
+
append: (value: T) => string;
|
|
63
|
+
remove: (key: string) => boolean;
|
|
64
|
+
move: (key: string, before: string | null) => boolean;
|
|
65
|
+
reset: (values?: readonly T[]) => void;
|
|
66
|
+
getValues: () => T[];
|
|
67
|
+
};
|
|
68
|
+
//#endregion
|
|
69
|
+
export { DataResourceOptions as a, useValidationScope as i, useFormArray as n, DataResourceStatus as o, ValidationParticipant as r, useDataResource as s, FormArrayEntry as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./validation.js";import{t as n}from"./data2.js";import{computed as r,getCurrentScope as i,onScopeDispose as a,reactive as o,shallowRef as s}from"vue";function c(t,n){return{...n,source:t,key:e(t,n.message,n.target,n.key),target:n.target?{...n.target}:void 0}}function l(){let e=s(new Map),n=s([]),o=s(!1),l=s(null),u=0,d=!1,f,p,m=0,h=()=>{u++;let e=f;f=void 0,p=void 0,e?.abort(),!f&&!p&&(o.value=!1)},g=t=>{if(d)throw Error(`校验区域已销毁`);let{id:r}=t;if(!r||e.value.has(r))throw Error(`校验区域标识必须唯一:${r}`);if(h(),d)throw Error(`校验区域已销毁`);if(e.value.has(r))throw Error(`校验区域标识必须唯一:${r}`);return e.value=new Map(e.value).set(r,t),()=>{if(e.value.get(r)!==t||(h(),d||e.value.get(r)!==t))return;let i=new Set(n.value.filter(e=>e.source===r));if(m++,l.value=null,d||e.value.get(r)!==t)return;let a=new Map(e.value);a.delete(r),e.value=a,d||(n.value=n.value.filter(e=>!i.has(e)))}},_=()=>{if(d)return Promise.resolve(!1);if(p)return p;let r=u,i=new AbortController;f=i;let a=()=>!d&&r===u&&f===i&&!i.signal.aborted,s=Promise.resolve().then(async()=>{if(d||r!==u)return!1;let o=await Promise.all([...e.value].map(async([e,n])=>{if(!a())return[];try{let t=await n.validate(i.signal);return a()?(t??[]).map(t=>c(e,t)):[]}catch(n){return a()?t(n,e):[]}}));if(d||r!==u)return!1;let s=new Map;for(let e of o)for(let t of e)s.set(t.key,t);let l=[...s.values()];return n.value=l,r===u&&!d&&l.length===0}),l=()=>{f===i&&(f=void 0,p=void 0,o.value=!1)},m=s.then(e=>(l(),!d&&r===u&&e),e=>{throw l(),e});return p=m,o.value=!0,m},v=async t=>{if(d)return!1;let n=++m,{source:r}=t,i=e.value.get(r),a=()=>!d&&n===m&&e.value.get(r)===i;if(l.value=null,!a()||!i?.reveal)return!1;try{let e=await i.reveal({...t,target:t.target?{...t.target}:void 0});return a()&&e!==!1}catch(e){return a()&&(l.value=e),!1}},y=()=>{h(),m++,l.value=null,n.value=[]},b=()=>{d||(d=!0,y(),e.value=new Map)};return i()&&a(b),{issues:n,validating:o,navigationError:l,dirty:r(()=>[...e.value.values()].some(e=>e.dirty?.())),register:g,validate:_,reveal:v,clear:y,dispose:b}}function u(e=[],t={}){let r=t.maxRows??1e3;if(!Number.isInteger(r)||r<1)throw RangeError(`maxRows 必须是正整数`);let i=0,a=n(e),c=s([]),l=e=>({key:`row-${i++}`,value:o(n(e))}),u=(e=a)=>{if(e.length>r)throw RangeError(`重复表单超出 maxRows`);c.value=e.map(l)};return u(),{items:c,append:e=>{if(c.value.length>=r)throw RangeError(`重复表单超出 maxRows`);let t=l(e);return c.value=[...c.value,t],t.key},remove:e=>{let t=c.value.filter(t=>t.key!==e);return t.length===c.value.length?!1:(c.value=t,!0)},move:(e,t)=>{let n=c.value.find(t=>t.key===e);if(!n||e===t||t!==null&&!c.value.some(e=>e.key===t))return!1;let r=c.value.filter(e=>e!==n),i=t===null?r.length:r.findIndex(e=>e.key===t);return r.splice(i,0,n),c.value=r,!0},reset:u,getValues:()=>c.value.map(e=>n(e.value))}}export{l as n,u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./config.cjs`);let n=require(`vue`);function r(){return(0,n.getCurrentInstance)()?(0,n.inject)(t.FORM_GLOBAL_CONFIG_KEY,{}):{}}function i(e,t){let n=e??{},r=(e,t)=>e||t?{...e,...t}:void 0;return{...t,...n,grid:r(t.grid,n.grid),inline:r(t.inline,n.inline),card:r(t.card,n.card),tabs:r(t.tabs,n.tabs),steps:r(t.steps,n.steps),dynamic:r(t.dynamic,n.dynamic),custom:r(t.custom,n.custom)}}const a={layout:`default`,labelPlacement:`left`,labelWidth:`auto`,size:`medium`,density:`default`,disabled:!1,readonly:!1,showActions:!0,validateOnChange:!1,preserveRemovedFields:!1,submitText:``,resetText:``,submitSuccessText:``,resetSuccessText:``,mode:`create`},o=[`steps`,`custom`];function s(t){return{...a,...t,size:t?.size??e.t(t?.density).size}}function c(e){return!(e.showActions===!1||o.includes(e.layout))}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|