cnhis-design-vue 3.1.43-release.2 → 3.1.43-release.3

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.
Files changed (102) hide show
  1. package/README.md +87 -87
  2. package/es/components/base-search/index.d.ts +4 -0
  3. package/es/components/base-search/src/index.vue.d.ts +4 -0
  4. package/es/components/base-search/src/index.vue.js +1 -1
  5. package/es/components/base-search/style/index.css +1 -1
  6. package/es/components/classification/index.d.ts +3 -1
  7. package/es/components/classification/src/components/search-filter/index.vue.d.ts +3 -1
  8. package/es/components/classification/src/components/set-classification/index.vue.d.ts +3 -1
  9. package/es/components/classification/src/index.vue.d.ts +3 -1
  10. package/es/components/fabric-chart/src/hooks/useOther.js +1 -1
  11. package/es/components/fabric-chart/src/hooks/useTemperatureChart.js +1 -1
  12. package/es/components/form-config/index.d.ts +8 -8
  13. package/es/components/form-config/src/FormConfig.vue.d.ts +8 -8
  14. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +4 -4
  15. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +4 -4
  16. package/es/components/form-render/index.d.ts +4 -4
  17. package/es/components/form-render/src/FormRender.vue.d.ts +4 -4
  18. package/es/components/form-render/src/FormRender.vue.js +1 -1
  19. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +4 -4
  20. package/es/components/form-render/src/components/renderer/radio&checkbox.d.ts +6 -0
  21. package/es/components/form-render/src/components/renderer/radio_checkbox.js +1 -1
  22. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  23. package/es/components/form-render/src/components/renderer/select.js +1 -1
  24. package/es/components/form-render/src/hooks/useAnchor.js +1 -1
  25. package/es/components/form-render/style/index.css +1 -1
  26. package/es/components/guide/index.d.ts +2 -0
  27. package/es/components/guide/index.js +1 -0
  28. package/es/components/guide/src/renderer.d.ts +37 -0
  29. package/es/components/guide/src/renderer.js +1 -0
  30. package/es/components/guide/src/types/index.d.ts +40 -0
  31. package/es/components/guide/src/useGuide.d.ts +6 -0
  32. package/es/components/guide/src/useGuide.js +1 -0
  33. package/es/components/guide/src/utils/index.d.ts +14 -0
  34. package/es/components/guide/src/utils/index.js +1 -0
  35. package/es/components/iho-table/index.d.ts +1 -0
  36. package/es/components/iho-table/src/IhoTable.vue.d.ts +1 -0
  37. package/es/components/iho-table/src/IhoTable.vue.js +1 -1
  38. package/es/components/iho-table/src/plugins/filterDaterangeRenderPlugin/index.js +1 -1
  39. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.d.ts +3 -11
  40. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.js +1 -1
  41. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  42. package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.js +1 -1
  43. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  44. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +2 -3
  45. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.js +1 -1
  46. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.d.ts +2 -0
  47. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.js +1 -0
  48. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  49. package/es/components/iho-table/style/iconfont.ttf +0 -0
  50. package/es/components/iho-table/style/index.css +1 -1
  51. package/es/components/index.css +1 -1
  52. package/es/components/index.d.ts +1 -0
  53. package/es/components/index.js +1 -1
  54. package/es/components/info-header/index.d.ts +8 -8
  55. package/es/components/info-header/src/InfoHeader.vue.d.ts +8 -8
  56. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +4 -4
  57. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +4 -4
  58. package/es/components/keyboard/src/components/InputNumber.vue.js +1 -1
  59. package/es/components/quick-search/style/index.css +1 -1
  60. package/es/components/scale-view/src/ScaleView.vue.js +1 -1
  61. package/es/components/scale-view/src/components/formitem/standard-modal.d.ts +1 -1
  62. package/es/components/select-label/src/LabelFormContent.vue.js +1 -1
  63. package/es/components/select-person/src/SearchMultiple.vue.d.ts +6 -0
  64. package/es/components/shortcut-setter/index.d.ts +4 -4
  65. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +4 -4
  66. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue.d.ts +3 -1
  67. package/es/components/table-filter/src/components/classify-filter/index.vue.d.ts +3 -1
  68. package/es/components/table-filter/src/components/render-widget/basicData.d.ts +4 -0
  69. package/es/components/table-filter/src/components/render-widget/basicData.js +1 -0
  70. package/es/components/table-filter/src/components/render-widget/components/Date.vue.d.ts +3 -28
  71. package/es/components/table-filter/src/components/render-widget/components/Date.vue.js +1 -1
  72. package/es/components/table-filter/src/components/render-widget/components/DateRange.vue.d.ts +118 -0
  73. package/es/components/table-filter/src/components/render-widget/components/DateRange.vue.js +1 -0
  74. package/es/components/table-filter/src/components/render-widget/components/InputNumberGroup.vue.js +1 -1
  75. package/es/components/table-filter/src/components/render-widget/components/Select.vue.d.ts +0 -1
  76. package/es/components/table-filter/src/components/render-widget/components/Select.vue.js +1 -1
  77. package/es/components/table-filter/src/components/render-widget/components/index.d.ts +2 -1
  78. package/es/components/table-filter/src/components/render-widget/components/index.js +1 -1
  79. package/es/components/table-filter/src/components/render-widget/enums.d.ts +17 -0
  80. package/es/components/table-filter/src/components/render-widget/enums.js +1 -1
  81. package/es/components/table-filter/src/components/render-widget/helpers/presetValToTimestamp.d.ts +5 -0
  82. package/es/components/table-filter/src/components/render-widget/helpers/presetValToTimestamp.js +1 -1
  83. package/es/components/table-filter/src/components/render-widget/index.vue.js +1 -1
  84. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +125 -19
  85. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.js +1 -1
  86. package/es/components/table-filter/src/hooks/useAdvanced.js +1 -1
  87. package/es/components/table-filter/src/hooks/useRenderWidget.js +1 -1
  88. package/es/components/table-filter/src/types/enums.d.ts +3 -1
  89. package/es/components/table-filter/src/types/enums.js +1 -1
  90. package/es/components/table-filter/src/types/index.d.ts +1 -0
  91. package/es/env.d.ts +25 -25
  92. package/es/shared/package.json.js +1 -1
  93. package/package.json +2 -2
  94. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  95. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
  96. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
  97. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
  98. package/es/components/fabric-chart/src/utils/index.d.ts +0 -6823
  99. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useTriggerEvent.d.ts +0 -0
  100. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
  101. package/es/shared/utils/tapable/index.d.ts +0 -139
  102. /package/es/components/{iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useTriggerEvent.js → guide/src/types/index.js} +0 -0
@@ -130,7 +130,7 @@ declare const _default: import("vue").DefineComponent<{
130
130
  type: BooleanConstructor;
131
131
  };
132
132
  bordered: {
133
- type: BooleanConstructor;
133
+ type: (BooleanConstructor | StringConstructor)[];
134
134
  default: boolean;
135
135
  };
136
136
  }, {
@@ -262,7 +262,7 @@ declare const _default: import("vue").DefineComponent<{
262
262
  type: BooleanConstructor;
263
263
  };
264
264
  bordered: {
265
- type: BooleanConstructor;
265
+ type: (BooleanConstructor | StringConstructor)[];
266
266
  default: boolean;
267
267
  };
268
268
  }>> & {
@@ -710,7 +710,7 @@ declare const _default: import("vue").DefineComponent<{
710
710
  type: BooleanConstructor;
711
711
  };
712
712
  bordered: {
713
- type: BooleanConstructor;
713
+ type: (BooleanConstructor | StringConstructor)[];
714
714
  default: boolean;
715
715
  };
716
716
  }>> & {
@@ -728,6 +728,6 @@ declare const _default: import("vue").DefineComponent<{
728
728
  consumer: boolean;
729
729
  enterToNextWidget: boolean | ((fieldItem: FieldItem) => boolean | void);
730
730
  linebarAutoHidden: boolean;
731
- bordered: boolean;
731
+ bordered: string | boolean;
732
732
  }>;
733
733
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as o,computed as t,provide as r,onMounted as s,onUnmounted as a,nextTick as i,openBlock as l,createBlock as n,unref as m,normalizeClass as p,normalizeStyle as d,withCtx as u,createElementBlock as c,createVNode as f,isRef as h,Fragment as y,renderList as j,createCommentVNode as g,createElementVNode as v,withKeys as b,withModifiers as k,toDisplayString as F,renderSlot as C}from"vue";import{useTheme as x}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{isNumber as H,cloneDeep as S}from"lodash-es";import{createForm as A,onFieldValueChange as L,onFieldMount as R,onFieldUnmount as _,onFieldReact as O,onFormMount as w}from"@formily/core";import{FormProvider as B,FormConsumer as V}from"@formily/vue";import{NForm as I,NTabs as N,NTabPane as D,NConfigProvider as q}from"naive-ui";import{InjectionFormGraph as T}from"./constants/index.js";import{useAutoHidden as U}from"./hooks/useAutoHidden.js";import{useComplexOptionsSpan as W}from"./hooks/useComplexOptions.js";import{useFormDomEvent as E,useFormExposeEvent as G}from"./hooks/useFormEvent.js";import{useFormGraph as K}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as M}from"./hooks/useFormRenderLifeCycle.js";import{useLowCodeEvent as P}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as J}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as $}from"./hooks/useNuiThemeOverrides.js";import"./utils/index.js";import{useFieldListAdaptor as z}from"./hooks/useFieldListAdaptor.js";import"../../../shared/utils/index.js";import"../index.js";import{useFieldVisitor as Q}from"./hooks/useFieldVisitor.js";import"../../../shared/utils/tapable/SyncHook.js";import"../../../shared/utils/tapable/SyncBailHook.js";import"../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../shared/utils/tapable/SyncLoopHook.js";import"../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{validateMessageLocale as X}from"./hooks/useFormValidator.js";import{useAnchor as Y}from"./hooks/useAnchor.js";import{useFormContext as Z}from"./hooks/useFormContext.js";import"./hooks/useFormRenderOptions.js";import ee from"../../../_virtual/plugin-vue_export-helper.js";import{createObjSchema as oe}from"./utils/schema.js";const te={key:0,style:{height:"54px"}},re={style:{"white-space":"pre"}};var se=ee(e({__name:"FormRender",props:{fieldList:{type:Array},initialData:{type:Object,default:()=>({})},fieldVisitor:{type:Object},column:{type:Number,default:24},maxHeight:{type:[Number,String],default:""},anchor:{type:Boolean,default:!1},parallelism:{type:Number,default:3},businessFormatter:{type:Function},schema:{type:Object},components:{type:Object,default:()=>({})},scope:{type:Object,default:()=>({})},annotation:{type:Object},consumer:{type:Boolean,default:!1},uuid:{type:String},lifeCycle:{type:Object},requestInstance:{type:Object},enterToNextWidget:{type:[Boolean,Function],default:!0},lowCodeReactions:{type:Array},linebarAutoHidden:{type:Boolean},bordered:{type:Boolean,default:!0}},emits:["formChange","annotationChange","scroll"],setup(e,{expose:ee,emit:se}){const ae=e,ie=x(),{nuiThemeOverrides:le}=$();X();const ne=o(),me=t((()=>H(ae.maxHeight)?ae.maxHeight+"px":ae.maxHeight)),{SchemaField:pe,businessCollector:de,formItemDepsCollector:ue,changeContextCollector:ce,formUUID:fe}=Z(ae,se),{anchorBarRef:he,currentAnchor:ye,generateAnchorList:je,updateAnchorList:ge,anchorIdList:ve,onScroll:be}=Y(ae,se,ne,ue);M(ae).callLifeCycle("onSetup");const{trigger:ke}=U(),{observeFormGraph:Fe,setGraph:Ce,removeGraph:xe}=K();r(T,Fe);const{lowCodeEventTrigger:He}=P(),Se=A({initialValues:ae.initialData,effects(e){L("*",(o=>{const t=o.props.name.toString();de.trigger(e,t),ue.trigger(t),se("formChange",{fieldInstance:o,fieldKey:t,fieldName:o.title,value:o.value,context:ce.getContext(t,o.value)}),He(o),Ae(t,o.value)})),R("*",Ce),_("*",xe),ae.linebarAutoHidden&&(O("*",ke),w((e=>e.query("*").forEach(ke)))),ae.anchor&&(O("*",ge),w(je))}}),{lowCodeReactionsHandler:Ae,triggerAllReactionsHandler:Le}=J(t((()=>ae.lowCodeReactions)),Se);s(Le);const{schemaAdaptor:Re}=z(de);let _e=ae.fieldList||[];const Oe=t((()=>ae.schema?ae.schema:ae.fieldList?(_e=Q().traverse(S(ae.fieldList),ae.fieldVisitor),oe(Re(_e))):oe({}))),{onKeydown:we}=E({formModel:Se,formRenderRef:ne,props:ae}),{clearSpan:Be}=W();a((()=>Be(fe)));const Ve=G({formModel:Se,formRenderRef:ne,formItemDepsCollector:ue,getFieldList:()=>_e,formUUID:fe});return ee({formModel:Se,validate:(e="*")=>Ve.validate(e),getFormValues:(e=!0)=>Ve.getFormValues(e),async setFormValues(e,o=!0,t=!1,r=!0){t&&(de.triggerLock=!0),Ve.setFormValues(e,o,r),await i(),de.triggerLock=!1},setFieldState(e,o){Ve.setFieldState(e,o)},resetFields(e="*"){Ve.resetFields(e)},queryWidget:async e=>Ve.queryWidget(e),getFieldList:()=>_e,async reload(){console.error("reload function is abstract,it should be overwrite!")}}),(o,t)=>(l(),n(m(I),{class:p(["form-render",{"form-render--no-border":!e.bordered}]),"require-mark-placement":"left",style:d(m(ie))},{default:u((()=>[e.anchor?(l(),c("section",te,[f(m(N),{value:m(ye),"onUpdate:value":t[0]||(t[0]=e=>h(ye)?ye.value=e:null),type:"line",ref_key:"anchorBarRef",ref:he},{default:u((()=>[(l(!0),c(y,null,j(m(ve),(e=>(l(),n(m(D),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):g("v-if",!0),f(m(q),{"theme-overrides":m(le)},{default:u((()=>[v("section",{class:"form-render__wrapper",style:d({"--column":e.column,"--form-height":m(me)}),ref_key:"formRenderRef",ref:ne,onScroll:t[1]||(t[1]=(...e)=>m(be)&&m(be)(...e)),onKeydownCapture:t[2]||(t[2]=b(k(((...e)=>m(we)&&m(we)(...e)),["prevent"]),["enter"]))},[f(m(B),{form:m(Se)},{default:u((()=>[f(m(pe),{schema:m(Oe)},null,8,["schema"]),e.consumer?(l(),n(m(V),{key:0},{default:u((({form:e})=>[v("div",re,F(JSON.stringify(e.values,null,2)),1)])),_:1})):g("v-if",!0),C(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},8,["class","style"]))}}),[["__file","FormRender.vue"]]);export{se as default};
1
+ import{defineComponent as e,ref as o,computed as t,provide as r,onMounted as s,onUnmounted as a,nextTick as i,openBlock as l,createBlock as n,unref as m,normalizeClass as d,normalizeStyle as p,withCtx as u,createElementBlock as c,createVNode as f,isRef as h,Fragment as y,renderList as g,createCommentVNode as j,createElementVNode as b,withKeys as v,withModifiers as k,toDisplayString as F,renderSlot as C}from"vue";import{useTheme as S}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{isNumber as x,cloneDeep as H}from"lodash-es";import{createForm as A,onFieldValueChange as L,onFieldMount as R,onFieldUnmount as _,onFieldReact as O,onFormMount as w}from"@formily/core";import{FormProvider as B,FormConsumer as V}from"@formily/vue";import{NForm as I,NTabs as N,NTabPane as D,NConfigProvider as q}from"naive-ui";import{InjectionFormGraph as T}from"./constants/index.js";import{useAutoHidden as U}from"./hooks/useAutoHidden.js";import{useComplexOptionsSpan as W}from"./hooks/useComplexOptions.js";import{useFormDomEvent as E,useFormExposeEvent as G}from"./hooks/useFormEvent.js";import{useFormGraph as K}from"./hooks/useFormGraph.js";import{useFormRenderLifeCycle as M}from"./hooks/useFormRenderLifeCycle.js";import{useLowCodeEvent as P}from"./hooks/useLowCodeEvent.js";import{useLowCodeReactions as J}from"./hooks/useLowCodeReactions.js";import{useNuiThemeOverrides as $}from"./hooks/useNuiThemeOverrides.js";import"./utils/index.js";import{useFieldListAdaptor as z}from"./hooks/useFieldListAdaptor.js";import"../../../shared/utils/index.js";import"../index.js";import{useFieldVisitor as Q}from"./hooks/useFieldVisitor.js";import"../../../shared/utils/tapable/SyncHook.js";import"../../../shared/utils/tapable/SyncBailHook.js";import"../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../shared/utils/tapable/SyncLoopHook.js";import"../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{validateMessageLocale as X}from"./hooks/useFormValidator.js";import{useAnchor as Y}from"./hooks/useAnchor.js";import{useFormContext as Z}from"./hooks/useFormContext.js";import"./hooks/useFormRenderOptions.js";import ee from"../../../_virtual/plugin-vue_export-helper.js";import{createObjSchema as oe}from"./utils/schema.js";const te={key:0,style:{height:"54px"}},re={style:{"white-space":"pre"}};var se=ee(e({__name:"FormRender",props:{fieldList:{type:Array},initialData:{type:Object,default:()=>({})},fieldVisitor:{type:Object},column:{type:Number,default:24},maxHeight:{type:[Number,String],default:""},anchor:{type:Boolean,default:!1},parallelism:{type:Number,default:3},businessFormatter:{type:Function},schema:{type:Object},components:{type:Object,default:()=>({})},scope:{type:Object,default:()=>({})},annotation:{type:Object},consumer:{type:Boolean,default:!1},uuid:{type:String},lifeCycle:{type:Object},requestInstance:{type:Object},enterToNextWidget:{type:[Boolean,Function],default:!0},lowCodeReactions:{type:Array},linebarAutoHidden:{type:Boolean},bordered:{type:[Boolean,String],default:!0}},emits:["formChange","annotationChange","scroll"],setup(e,{expose:ee,emit:se}){const ae=e,ie=S(),{nuiThemeOverrides:le}=$();X();const ne=o(),me=t((()=>x(ae.maxHeight)?ae.maxHeight+"px":ae.maxHeight)),{SchemaField:de,businessCollector:pe,formItemDepsCollector:ue,changeContextCollector:ce,formUUID:fe}=Z(ae,se),{anchorBarRef:he,currentAnchor:ye,generateAnchorList:ge,updateAnchorList:je,anchorIdList:be,onScroll:ve}=Y(ae,se,ne,ue);M(ae).callLifeCycle("onSetup");const{trigger:ke}=U(),{observeFormGraph:Fe,setGraph:Ce,removeGraph:Se}=K();r(T,Fe);const{lowCodeEventTrigger:xe}=P(),He=A({initialValues:ae.initialData,effects(e){L("*",(o=>{const t=o.props.name.toString();pe.trigger(e,t),ue.trigger(t),se("formChange",{fieldInstance:o,fieldKey:t,fieldName:o.title,value:o.value,context:ce.getContext(t,o.value)}),xe(o),Ae(t,o.value)})),R("*",Ce),_("*",Se),ae.linebarAutoHidden&&(O("*",ke),w((e=>e.query("*").forEach(ke)))),ae.anchor&&O("*",je)}}),{lowCodeReactionsHandler:Ae,triggerAllReactionsHandler:Le}=J(t((()=>ae.lowCodeReactions)),He);s(Le);const{schemaAdaptor:Re}=z(pe);let _e=ae.fieldList||[];const Oe=t((()=>ae.schema?ae.schema:ae.fieldList?(_e=Q().traverse(H(ae.fieldList),ae.fieldVisitor),oe(Re(_e))):oe({}))),{onKeydown:we}=E({formModel:He,formRenderRef:ne,props:ae}),{clearSpan:Be}=W();a((()=>Be(fe)));const Ve=G({formModel:He,formRenderRef:ne,formItemDepsCollector:ue,getFieldList:()=>_e,formUUID:fe});return ee({formModel:He,validate:(e="*")=>Ve.validate(e),getFormValues:(e=!0)=>Ve.getFormValues(e),async setFormValues(e,o=!0,t=!1,r=!0){t&&(pe.triggerLock=!0),Ve.setFormValues(e,o,r),await i(),pe.triggerLock=!1},setFieldState(e,o){Ve.setFieldState(e,o)},resetFields(e="*"){Ve.resetFields(e)},queryWidget:async e=>Ve.queryWidget(e),getFieldList:()=>_e,async reload(){console.error("reload function is abstract,it should be overwrite!")}}),(o,t)=>(l(),n(m(I),{class:d(["form-render",{"form-render--no-border":!e.bordered,"form-render--underline":"underline"===e.bordered}]),"require-mark-placement":"left",style:p(m(ie))},{default:u((()=>[e.anchor?(l(),c("section",te,[f(m(N),{value:m(ye),"onUpdate:value":t[0]||(t[0]=e=>h(ye)?ye.value=e:null),type:"line",ref_key:"anchorBarRef",ref:he},{default:u((()=>[(l(!0),c(y,null,g(m(be),(e=>(l(),n(m(D),{name:e.name,tab:e.title,key:e.name},null,8,["name","tab"])))),128))])),_:1},8,["value"])])):j("v-if",!0),f(m(q),{"theme-overrides":m(le)},{default:u((()=>[b("section",{class:"form-render__wrapper",style:p({"--column":e.column,"--form-height":m(me)}),ref_key:"formRenderRef",ref:ne,onScroll:t[1]||(t[1]=(...e)=>m(ve)&&m(ve)(...e)),onKeydownCapture:t[2]||(t[2]=v(k(((...e)=>m(we)&&m(we)(...e)),["prevent"]),["enter"]))},[f(m(B),{form:m(He)},{default:u((()=>[f(m(de),{schema:m(Oe)},null,8,["schema"]),e.consumer?(l(),n(m(V),{key:0},{default:u((({form:e})=>[b("div",re,F(JSON.stringify(e.values,null,2)),1)])),_:1})):j("v-if",!0),C(o.$slots,"default")])),_:3},8,["form"])],36)])),_:3},8,["theme-overrides"])])),_:3},8,["class","style"]))}}),[["__file","FormRender.vue"]]);export{se as default};
@@ -134,7 +134,7 @@ declare const _default: import("vue").DefineComponent<{}, {
134
134
  type: BooleanConstructor;
135
135
  };
136
136
  bordered: {
137
- type: BooleanConstructor;
137
+ type: (BooleanConstructor | StringConstructor)[];
138
138
  default: boolean;
139
139
  };
140
140
  }, {
@@ -266,7 +266,7 @@ declare const _default: import("vue").DefineComponent<{}, {
266
266
  type: BooleanConstructor;
267
267
  };
268
268
  bordered: {
269
- type: BooleanConstructor;
269
+ type: (BooleanConstructor | StringConstructor)[];
270
270
  default: boolean;
271
271
  };
272
272
  }>> & {
@@ -714,7 +714,7 @@ declare const _default: import("vue").DefineComponent<{}, {
714
714
  type: BooleanConstructor;
715
715
  };
716
716
  bordered: {
717
- type: BooleanConstructor;
717
+ type: (BooleanConstructor | StringConstructor)[];
718
718
  default: boolean;
719
719
  };
720
720
  }>> & {
@@ -732,7 +732,7 @@ declare const _default: import("vue").DefineComponent<{}, {
732
732
  consumer: boolean;
733
733
  enterToNextWidget: boolean | ((fieldItem: import("../../../../es/components/form-render").FieldItem) => boolean | void);
734
734
  linebarAutoHidden: boolean;
735
- bordered: boolean;
735
+ bordered: string | boolean;
736
736
  }>;
737
737
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
738
738
  export default _default;
@@ -53,6 +53,7 @@ export declare const RADIO: import("vue").DefineComponent<{
53
53
  type: PropType<"checked" | "all">;
54
54
  default: string;
55
55
  };
56
+ clearable: BooleanConstructor;
56
57
  onChange: {};
57
58
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
58
59
  value: {
@@ -107,6 +108,7 @@ export declare const RADIO: import("vue").DefineComponent<{
107
108
  type: PropType<"checked" | "all">;
108
109
  default: string;
109
110
  };
111
+ clearable: BooleanConstructor;
110
112
  onChange: {};
111
113
  }>> & {
112
114
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
@@ -118,6 +120,7 @@ export declare const RADIO: import("vue").DefineComponent<{
118
120
  lazyRequest: boolean;
119
121
  requestCache: boolean;
120
122
  childFieldStrategy: "checked" | "all";
123
+ clearable: boolean;
121
124
  }>;
122
125
  export declare const CHECKBOX: import("vue").DefineComponent<{
123
126
  value: {
@@ -172,6 +175,7 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
172
175
  type: PropType<"checked" | "all">;
173
176
  default: string;
174
177
  };
178
+ clearable: BooleanConstructor;
175
179
  onChange: {};
176
180
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
177
181
  value: {
@@ -226,6 +230,7 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
226
230
  type: PropType<"checked" | "all">;
227
231
  default: string;
228
232
  };
233
+ clearable: BooleanConstructor;
229
234
  onChange: {};
230
235
  }>> & {
231
236
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
@@ -237,4 +242,5 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
237
242
  lazyRequest: boolean;
238
243
  requestCache: boolean;
239
244
  childFieldStrategy: "checked" | "all";
245
+ clearable: boolean;
240
246
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,createVNode as t,isVNode as o}from"vue";import{connect as l,mapProps as a}from"@formily/vue";import{NSpace as r,NRadio as i,NRadioGroup as u,NCheckbox as n,NCheckboxGroup as p}from"naive-ui";import"../../../index.js";import{useComplexOptions as d}from"../../hooks/useComplexOptions.js";import"../../utils/index.js";import{useAutographOptions as s}from"../../hooks/useFormRenderOptions.js";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as c,createVisitedSetter as v}from"../../utils/schema.js";import{useFormField as y}from"../../hooks/useFormField.js";function f(l,a,i){return e({name:l,props:{value:{type:[String,Number,Object,Array]},options:{type:Array,default:()=>[]},autograph:{type:String},lazyRequest:{type:Boolean,default:!1},requestCache:{type:Boolean,default:!0},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},wordbook:{type:Object},vertical:{type:Boolean,default:!1},childFieldStrategy:{type:String,default:"checked"},onChange:{}},emits:["update:value"],setup(e,{emit:l}){const{field:u}=y(),{renderComplexOption:n,valueRef:p}=d(e,l),{labelKey:c,valueKey:f,fullOptions:j}=s(e,p),{injectValueBindKey:b,injectValueValidate:h}=m();h(p);const g=b(p);return()=>t(a,{key:g.value,value:p.value,"onUpdate:value":e=>p.value=e,onClick:v(u)},{default:()=>[t(r,{vertical:e.vertical,"vertical-space":e.vertical},{default:()=>{var l;return[null==(l=j.value)?void 0:l.map((l=>{let a;return t(i,{key:l[f.value],value:l[f.value],disabled:l.disabled},"function"==typeof(r=a=n({value:p.value,option:l,valueKey:f.value,labelKey:c.value,childFieldStrategy:e.childFieldStrategy}))||"[object Object]"===Object.prototype.toString.call(r)&&!o(r)?a:{default:()=>[a]});var r}))]}})]})}})}const j=l(f("FormRadio",u,i),a({dataSource:"options"},c)),b=l(f("FormCheckbox",p,n),a({dataSource:"options"},c));export{b as CHECKBOX,j as RADIO};
1
+ import{defineComponent as e,createVNode as t,isVNode as l}from"vue";import{connect as o,mapProps as a}from"@formily/vue";import{promiseTimeout as r}from"@vueuse/shared";import{NSpace as i,NRadio as u,NRadioGroup as n,NCheckbox as p,NCheckboxGroup as d}from"naive-ui";import"../../../index.js";import{useComplexOptions as s}from"../../hooks/useComplexOptions.js";import"../../utils/index.js";import{useAutographOptions as c}from"../../hooks/useFormRenderOptions.js";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as v,createVisitedSetter as f}from"../../utils/schema.js";import{useFormField as y}from"../../hooks/useFormField.js";function b(o,a,u){return e({name:o,props:{value:{type:[String,Number,Object,Array]},options:{type:Array,default:()=>[]},autograph:{type:String},lazyRequest:{type:Boolean,default:!1},requestCache:{type:Boolean,default:!0},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},wordbook:{type:Object},vertical:{type:Boolean,default:!1},childFieldStrategy:{type:String,default:"checked"},clearable:Boolean,onChange:{}},emits:["update:value"],setup(e,{emit:o}){const{field:p}=y(),{renderComplexOption:d,valueRef:v}=s(e,o),{labelKey:b,valueKey:j,fullOptions:h}=c(e,v),{injectValueBindKey:g,injectValueValidate:k}=m();k(v);const S=g(v);async function F(){if(a!==n||!e.clearable)return;const t=v.value;await r(0),null!=t&&(v.value=null)}return()=>t(a,{key:S.value,value:v.value,"onUpdate:value":e=>v.value=e,onClick:f(p)},{default:()=>[t(i,{vertical:e.vertical,"vertical-space":e.vertical},{default:()=>{var o;return[null==(o=h.value)?void 0:o.map((o=>{let a;return t(u,{key:o[j.value],value:o[j.value],disabled:o.disabled,onClick:F},"function"==typeof(r=a=d({value:v.value,option:o,valueKey:j.value,labelKey:b.value,childFieldStrategy:e.childFieldStrategy}))||"[object Object]"===Object.prototype.toString.call(r)&&!l(r)?a:{default:()=>[a]});var r}))]}})]})}})}const j=o(b("FormRadio",n,u),a({dataSource:"options"},v)),h=o(b("FormCheckbox",d,p),a({dataSource:"options"},v));export{h as CHECKBOX,j as RADIO};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as a,inject as l,watch as r,createVNode as o,nextTick as n}from"vue";import{isEqual as u,isArray as i,isString as s}from"lodash-es";import"../../../index.js";import{useCommonInjection as c}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as p,InjectionFormUUID as d}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import{NCascader as v}from"naive-ui";import"@vueuse/core";import"date-fns";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"@formily/reactive";import{connect as f,mapProps as y}from"@formily/vue";import"@vue/shared";import"./index.js";import"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as h,assignUpdateValue as j,traverseDependKey as k}from"../../utils/schema.js";const g=f(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},checkStrategy:{type:String,default:"child"},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:f,emit:y}){const j=t(),{field:g,title:b}=m(),S=t(1),C=t(!0);const w=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),F=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"})),A=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");if(!Array.isArray(t)||!t.length)return null;const a=t.map((e=>e[F.value])).slice(-1).join(""),l=t.map((e=>e[w.value])).join(" / ");return a||l}catch(e){return null}}));function H(e,t,a){y("update:value",i(a)?a.map((function(e){return{...e,label:e[w.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const x=l(p);async function q(t){e.filterable?await async function(){if(!e.urlConfig||j.value&&e.requestCache)return;const t=await x.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:b.value,cache:e.requestCache});function a(e,t,r){const o=[...r,...l(e)],n={[w.value]:e[w.value],[F.value]:e[F.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:o};return i(e.children)&&(n.children=e.children.map((e=>a(e,t+1,o))),n.isLeaf=!e.children.length),S.value=Math.max(S.value,t+1),n}function l(e){let t=[];if(s(e[w.value])&&(t=[...t,e[w.value]]),s(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}j.value=t.map((e=>a(e,0,[])))}():await async function(t){if(r(e,t))return;const a=await x.addAsync(o(s(t),i(e),b.value,t));if(!a.length&&t)return t.isLeaf=!0,H(0,0,n(t)),void(O.value=!1);const l=a.map((e=>u(e,s(t))));function r(e,t){return!i(e)||!t&&j.value&&e.requestCache||s(t)>=s(e)-1}function o(t,a,l,r){const o={lvlnr:t+1+""};return r&&a.dependKey&&k(a.dependKey,((e,t)=>{o[t]=r[e]})),{params:o,...a,key:l,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function u(a,l){return{[w.value]:a[w.value],[F.value]:a[F.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function i(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:j.value=l}(t),await B()}const V=`form-render__cascade--menu-${l(d)}`;async function B(){await n();const e=document.querySelector(`.${V} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function L(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;if(e.checkStrategy.includes("child")&&a.depth<S.value)return!1;return l.length>0&&l.some((e=>e.includes(t.trim())))}const{injectValueValidate:K,injectValueWatchFromEmpty:I,injectValueBindKey:E}=c();I((()=>e.value),q),K((()=>e.value)),r((()=>e.urlConfig),(async(t,a)=>{u(t,a)||(j.value=null,C.value?e.lazyRequest||(q(),C.value=!C.value):await q())}),{immediate:!0});const O=t(!1);function R(e){O.value=!!e,e&&q()}const W=a((()=>j.value||e.options||[])),z=a((()=>!e.filterable)),N=E(A);return()=>o(v,{key:N.value,remote:z.value,filterable:e.filterable,"menu-props":{class:V,onClick:B},"check-strategy":e.checkStrategy,show:!!O.value,"onUpdate:show":R,value:A.value,filter:L,"onUpdate:value":H,labelField:w.value,valueField:F.value,options:W.value,onLoad:q,onFocus:h(g)},f)}}),y({dataSource:"options"},j));export{g as SEARCH_CASCADER};
1
+ import{defineComponent as e,ref as t,computed as a,inject as l,watch as r,createVNode as n,nextTick as o}from"vue";import{isEqual as u,isArray as i,isString as s}from"lodash-es";import"../../../index.js";import{useCommonInjection as c}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as p,InjectionFormUUID as d}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import{NCascader as v}from"naive-ui";import"@vueuse/core";import"date-fns";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import{connect as f,mapProps as y}from"@formily/vue";import"@vue/shared";import"./index.js";import"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as h,assignUpdateValue as j,traverseDependKey as k}from"../../utils/schema.js";const g=f(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},checkStrategy:{type:String,default:"child"},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:f,emit:y}){const j=t(),{field:g,title:b}=m(),S=t(1),C=t(!0);const w=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),F=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"})),A=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");if(!Array.isArray(t)||!t.length)return null;const a=t.map((e=>e[F.value])).slice(-1).join(""),l=t.map((e=>e[w.value])).join(" / ");return a||l}catch(e){return null}}));function H(e,t,a){y("update:value",i(a)?a.map((function(e){return{...e,label:e[w.value],children:void 0,parent:void 0,mergeItemValue:void 0}})):null)}const x=l(p);async function q(t){e.filterable?await async function(){if(!e.urlConfig||j.value&&e.requestCache)return;const t=await x.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:b.value,cache:e.requestCache});function a(e,t,r){const n=[...r,...l(e)],o={[w.value]:e[w.value],[F.value]:e[F.value],depth:t+1,isLeaf:!0,keyword:e.keyword,mergeItemValue:n};return i(e.children)&&(o.children=e.children.map((e=>a(e,t+1,n))),o.isLeaf=!e.children.length),S.value=Math.max(S.value,t+1),o}function l(e){let t=[];if(s(e[w.value])&&(t=[...t,e[w.value]]),s(e.keyword)&&e.keyword.length>0){const a=e.keyword.split(",");t=[...t,...a]}return t}j.value=t.map((e=>a(e,0,[])))}():await async function(t){if(r(e,t))return;const a=await x.addAsync(n(s(t),i(e),b.value,t));if(!a.length&&t)return t.isLeaf=!0,H(0,0,o(t)),void(O.value=!1);const l=a.map((e=>u(e,s(t))));function r(e,t){return!i(e)||!t&&j.value&&e.requestCache||s(t)>=s(e)-1}function n(t,a,l,r){const n={lvlnr:t+1+""};return r&&a.dependKey&&k(a.dependKey,((e,t)=>{n[t]=r[e]})),{params:n,...a,key:l,cache:e.requestCache}}function o(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function u(a,l){return{[w.value]:a[w.value],[F.value]:a[F.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function i(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:j.value=l}(t),await B()}const V=`form-render__cascade--menu-${l(d)}`;async function B(){await o();const e=document.querySelector(`.${V} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function L(t,a){if(!t||!a)return!1;const{mergeItemValue:l}=a;if(e.checkStrategy.includes("child")&&a.depth<S.value)return!1;return l.length>0&&l.some((e=>e.includes(t.trim())))}const{injectValueValidate:K,injectValueWatchFromEmpty:I,injectValueBindKey:E}=c();I((()=>e.value),q),K((()=>e.value)),r((()=>e.urlConfig),(async(t,a)=>{u(t,a)||(j.value=null,C.value?e.lazyRequest||(q(),C.value=!C.value):await q())}),{immediate:!0});const O=t(!1);function R(e){O.value=!!e,e&&q()}const W=a((()=>j.value||e.options||[])),z=a((()=>!e.filterable)),N=E(A);return()=>n(v,{key:N.value,remote:z.value,filterable:e.filterable,"menu-props":{class:V,onClick:B},"check-strategy":e.checkStrategy,show:!!O.value,"onUpdate:show":R,value:A.value,filter:L,"onUpdate:value":H,labelField:w.value,valueField:F.value,options:W.value,onLoad:q,onFocus:h(g)},f)}}),y({dataSource:"options"},j));export{g as SEARCH_CASCADER};
@@ -1 +1 @@
1
- import{defineComponent as e,computed as o,inject as t,ref as a,createVNode as r}from"vue";import{useDebounceFn as l}from"@vueuse/core";import{cloneDeep as s,isArray as i,isString as n}from"lodash-es";import{useCommonInjection as u,useSelectOptionProps as p}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as m}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../../index.js";import"../../utils/index.js";import{useFormField as c}from"../../hooks/useFormField.js";import{NSelect as d}from"naive-ui";import"date-fns";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"@formily/reactive";import{connect as y,mapProps as v}from"@formily/vue";import"@vue/shared";import"./index.js";import{useUrlConfigOptions as f,useAutographOptions as h,useRecommendOptions as j,searchContentMatcher as b}from"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as k,assignUpdateValue as S,assignClearBindVisited as g}from"../../utils/schema.js";const F=y(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},allowCreate:Boolean,urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1}},emits:["update:value","postRecommend"],setup(e,{slots:y,emit:v}){const S=o({get:()=>e.value,async set(e){v("update:value",e),C(e)}}),{labelKey:g,valueKey:F,fetchData:A,fullOptions:H,filterOptions:x}=e.urlConfig?f(e,S):h(e,S),{getRecommend:B,postRecommend:C,sortedOptions:O}=j(e,x,v,g,F),{field:R,fieldKey:L}=c();t(m).setContext(L.value,(e=>{return{currentOption:s((o=e,i(o)?function(e){const o=H.value.reduce(((e,o)=>(e[o[F.value]]=o,e)),{});return e.map((e=>o[e]))}(o):(t=o,H.value.find((e=>e[F.value]===t)))))};var o,t}));const N=a(""),V=l((async(e="")=>{N.value=e,A(e),B(e)}),300),{injectValueValidate:w,injectValueWatchFromEmpty:K,injectValueBindKey:P}=u();K(S,V),w(S);const W=P(S),{menuProps:q,nodeProps:I}=p();function U(e){const o=e[g.value];if(!o||!n(o))return"";const t=b(N.value,o);return t?r("section",null,[t.map(((e,o)=>0!==o&&e?r("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}const z=o((()=>O.value.length||!e.allowCreate?O.value:N.value?[{[g.value]:N.value,[F.value]:N.value},...O.value]:O.value));return()=>r(d,{key:W.value,remote:!0,filterable:!0,value:S.value,"onUpdate:value":e=>S.value=e,"menu-props":q,"node-props":I,labelField:g.value,valueField:F.value,options:z.value,onSearch:V,"onUpdate:show":e=>e&&V(),onFocus:k(R),renderLabel:U},y)}}),v({dataSource:"options"},S,g));export{F as SELECT};
1
+ import{defineComponent as e,computed as o,inject as t,ref as a,createVNode as l}from"vue";import{useDebounceFn as r}from"@vueuse/core";import{cloneDeep as s,isArray as n,isString as i}from"lodash-es";import{useCommonInjection as u,useSelectOptionProps as p}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as m}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../../index.js";import"../../utils/index.js";import{useFormField as c}from"../../hooks/useFormField.js";import{NSelect as d}from"naive-ui";import"date-fns";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import{connect as y,mapProps as v}from"@formily/vue";import"@vue/shared";import"./index.js";import{useUrlConfigOptions as f,useAutographOptions as h,useRecommendOptions as j,searchContentMatcher as b}from"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as k,assignUpdateValue as S,assignClearBindVisited as g}from"../../utils/schema.js";const F=y(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},allowCreate:Boolean,urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1}},emits:["update:value","postRecommend"],setup(e,{slots:y,emit:v}){const S=o({get:()=>e.value,async set(e){v("update:value",e),C(e)}}),{labelKey:g,valueKey:F,fetchData:A,fullOptions:H,filterOptions:x}=e.urlConfig?f(e,S):h(e,S),{getRecommend:B,postRecommend:C,sortedOptions:O}=j(e,x,v,g,F),{field:R,fieldKey:L}=c();t(m).setContext(L.value,(e=>{return{currentOption:s((o=e,n(o)?function(e){const o=H.value.reduce(((e,o)=>(e[o[F.value]]=o,e)),{});return e.map((e=>o[e]))}(o):(t=o,H.value.find((e=>e[F.value]===t)))))};var o,t}));const N=a(""),V=r((async(e="")=>{N.value=e,A(e),B(e)}),300),{injectValueValidate:w,injectValueWatchFromEmpty:K,injectValueBindKey:P}=u();K(S,V),w(S);const W=P(S),{menuProps:q,nodeProps:I}=p();function U(e){const o=e[g.value];if(!o||!i(o))return"";const t=b(N.value,o);return t?l("section",null,[t.map(((e,o)=>0!==o&&e?l("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}const z=o((()=>O.value.length||!e.allowCreate?O.value:N.value?[{[g.value]:N.value,[F.value]:N.value},...O.value]:O.value));return()=>l(d,{key:W.value,remote:!0,filterable:!0,value:S.value,"onUpdate:value":e=>S.value=e,"menu-props":q,"node-props":I,labelField:g.value,valueField:F.value,options:z.value,onSearch:V,"onUpdate:show":e=>e&&V(),onFocus:k(R),renderLabel:U},y)}}),v({dataSource:"options"},S,g));export{F as SELECT};
@@ -1 +1 @@
1
- import{doAnimation as e}from"../../../../shared/utils/anime.js";import{untracked as t}from"@formily/reactive";import{useDebounceFn as o,watchOnce as n}from"@vueuse/core";import{ref as r,nextTick as l,computed as i}from"vue";import{FormItemLineBarDepKeyPrepend as a}from"../constants/index.js";import"../utils/index.js";import{createLinebarId as s}from"../utils/schema.js";function u(u,c,v,f){const m=r(),p=r(""),d=r([]),y=o((async function(e){var t;d.value=Object.values(e.fields).reduce(((e,t)=>("LINEBAR"===t.componentType&&"visible"===t.selfDisplay&&e.push({title:t.title,name:t.address.toString()}),e)),[]),await l(),null==(t=m.value)||t.syncBarPosition()}),100);let h=!1;async function T(t){h=!0;try{if(!v.value)return;f.trigger(a+t,!0),await l();const o=v.value.querySelector(`#${s(t)}`);if(!o)return;await new Promise((t=>{e(v.value.scrollTop,o.offsetTop,300,(e=>{var t;null==(t=v.value)||t.scrollTo({top:e})}),"easeInSine",(()=>setTimeout(t,300)))}))}finally{h=!1}}const g=o((function(e){var t;if(h||!v.value)return;const{scrollTop:o,clientHeight:n}=v.value,r=d.value.find(((e,t,r)=>{const l=r[t+1];if(!l)return!0;const i=v.value.querySelector(`#${s(l.name)}`);return i?i.offsetTop>o+n/2:void 0}))||d.value[d.value.length-1];p.value=null!=(t=null==r?void 0:r.name)?t:"",c("scroll",e)}),300);n(d,(e=>{var t,o;p.value=null!=(o=null==(t=e[0])?void 0:t.name)?o:""}));return{currentAnchor:i({get:()=>p.value,async set(e){p.value=e,await new Promise((e=>setTimeout(e,100))),await T(e)}}),onScroll:g,anchorIdList:d,generateAnchorList:y,updateAnchorList:function(e){"LINEBAR"===e.componentType&&e.selfDisplay&&t((()=>y(e.form)))},scrollTo:T,anchorBarRef:m}}export{u as useAnchor};
1
+ import{doAnimation as e}from"../../../../shared/utils/anime.js";import{useDebounceFn as t,watchOnce as n}from"@vueuse/core";import{ref as o,computed as l,nextTick as r}from"vue";import{FormItemLineBarDepKeyPrepend as a}from"../constants/index.js";import"../utils/index.js";import{createLinebarId as i}from"../utils/schema.js";function u(u,s,c,v){const f=o(),m=o(""),p=o([]),d=async function(e){var t;p.value=Object.values(e.fields).reduce(((e,t)=>{var n,o;return"LINEBAR"===t.componentType&&"visible"===t.selfDisplay&&e.push({title:null!=(o=null==(n=t.componentProps)?void 0:n.title)?o:t.title,name:t.address.toString()}),e}),[]),await r(),null==(t=f.value)||t.syncBarPosition()};let y=!1;async function h(t){y=!0;try{if(!c.value)return;v.trigger(a+t,!0),await r();const n=c.value.querySelector(`#${i(t)}`);if(!n)return;await new Promise((t=>{e(c.value.scrollTop,n.offsetTop,300,(e=>{var t;null==(t=c.value)||t.scrollTo({top:e})}),"easeInSine",(()=>setTimeout(t,300)))}))}finally{y=!1}}const T=t((function(e){var t;if(y||!c.value)return;const{scrollTop:n,clientHeight:o}=c.value,l=p.value.find(((e,t,l)=>{const r=l[t+1];if(!r)return!0;const a=c.value.querySelector(`#${i(r.name)}`);return a?a.offsetTop>n+o/2:void 0}))||p.value[p.value.length-1];m.value=null!=(t=null==l?void 0:l.name)?t:"",s("scroll",e)}),300);n(p,(e=>{var t,n;m.value=null!=(n=null==(t=e[0])?void 0:t.name)?n:""}));return{currentAnchor:l({get:()=>m.value,async set(e){m.value=e,await new Promise((e=>setTimeout(e,100))),await h(e)}}),onScroll:T,anchorIdList:p,generateAnchorList:d,updateAnchorList:function(e){"LINEBAR"===e.componentType&&e.selfDisplay&&d(e.form)},scrollTo:h,anchorBarRef:f}}export{u as useAnchor};
@@ -1 +1 @@
1
- .annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;padding:0 8px 0 16px;width:100%}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 20px)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItemLabel--text{white-space:nowrap}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:#f2f2f2;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:flex-start;display:flex;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__inputGroup>div{flex:1}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}
1
+ .annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;padding:0 8px 0 16px;width:100%}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 20px)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItemLabel--text{white-space:nowrap}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:#f2f2f2;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:flex-start;display:flex;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__inputGroup>div{flex:1}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}.form-render--underline .n-input{border-radius:0}.form-render--underline .n-input__border,.form-render--underline .n-input__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important}.form-render--underline .n-input--focus{border-radius:0}.form-render--underline .n-input--focus .n-input__state-border{box-shadow:none!important}.form-render--underline .n-base-selection--active .n-base-selection__state-border,.form-render--underline .n-base-selection--focus .n-base-selection__state-border,.form-render--underline .n-base-selection:hover .n-base-selection__state-border,.form-render--underline .n-base-selection__border,.form-render--underline .n-base-selection__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important;box-shadow:none!important}
@@ -0,0 +1,2 @@
1
+ export * from './src/useGuide';
2
+ export * from './src/types';
@@ -0,0 +1 @@
1
+ export{useGuide}from"./src/useGuide.js";
@@ -0,0 +1,37 @@
1
+ import { ComponentInternalInstance, PropType } from 'vue';
2
+ import { GuideDefine } from '../../../../es/components/guide/src/types';
3
+ export declare function createGuideStep(instance?: ComponentInternalInstance | null): import("vue").DefineComponent<{
4
+ config: {
5
+ type: PropType<GuideDefine.Config>;
6
+ required: true;
7
+ default: () => {};
8
+ };
9
+ index: {
10
+ type: NumberConstructor;
11
+ required: true;
12
+ };
13
+ length: {
14
+ type: NumberConstructor;
15
+ required: true;
16
+ };
17
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "next" | "toNext")[], "cancel" | "next" | "toNext", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
+ config: {
19
+ type: PropType<GuideDefine.Config>;
20
+ required: true;
21
+ default: () => {};
22
+ };
23
+ index: {
24
+ type: NumberConstructor;
25
+ required: true;
26
+ };
27
+ length: {
28
+ type: NumberConstructor;
29
+ required: true;
30
+ };
31
+ }>> & {
32
+ onCancel?: ((...args: any[]) => any) | undefined;
33
+ onNext?: ((...args: any[]) => any) | undefined;
34
+ onToNext?: ((...args: any[]) => any) | undefined;
35
+ }, {
36
+ config: GuideDefine.Config;
37
+ }> | import("vue").DefineComponent<{}, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
@@ -0,0 +1 @@
1
+ import{defineComponent as e,createVNode as t,provide as r}from"vue";import{useTheme as s}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{isFunction as n,range as i}from"lodash-es";import{widthAppend as o}from"../../../shared/utils/index.js";import{NSpace as l,NButton as u}from"naive-ui";const d=e({props:{config:{type:Object,required:!0,default:()=>({})},index:{type:Number,required:!0},length:{type:Number,required:!0}},emits:["cancel","next","toNext"],setup(e,{emit:r,slots:d}){const p=s();function a(e,{skippable:s=!0,skipText:o="跳过",nextText:d="下一步",endText:p="结束引导"},a,c){var f;return t("footer",{class:"guide__stepFooter"},[null!=(f=n(e)?e():null)?f:t(l,{justify:"end",wrapItem:!1},{default:()=>[m(),s?t(u,{ghost:!0,bordered:!1,class:"guide__stepSkipBtn",textColor:"#c5c5c5",onClick:()=>r("cancel")},{default:()=>o}):null,t(u,{type:"primary",class:"guide__stepNextBtn",onClick:()=>r("next")},{default:()=>a===c-1?p:d})]})]);function m(){return t(l,{justify:"start",style:"flex:1"},{default:function(){return i(c).map((e=>t(u,{class:"guide__stepToBtn",bordered:!1,onClick:()=>r("toNext",e)},{default:()=>t("i",{class:["guide__stepToBtnContent",{guide__stepActiveBtn:e===a}]},null)})))}})}}return()=>{const{minWidth:r=240,maxWidth:s=300,pointer:i=!0}=e.config;return t("section",{class:"guide__stepContentWrapper",style:{minWidth:o(r),maxWidth:o(s),...p.value}},[i?t("div",{class:"guide__stepPointerWrapper"},[t("div",{class:"guide__stepPointer"},null),t("div",{class:"guide__stepPointerLine"},null)]):null,(u=d.header,t("header",{class:"guide__stepHeader"},[n(u)?u():null])),(l=d.body,t("section",{class:"guide__stepBody"},[n(l)?l():null])),a(d.footer,e.config,e.index,e.length)]);var l,u}}});function p(s){return s?e({setup(e,{attrs:n,slots:i}){const o=[];let l=(null==s?void 0:s.parent)&&Reflect.get(s.parent,"provides");for(;l;)Object.entries(l).forEach((([e,t])=>{o.includes(e)||(o.push(e),r(e,t))})),l=Object.getPrototypeOf(l);return()=>t(d,n,i)}}):d}export{p as createGuideStep};
@@ -0,0 +1,40 @@
1
+ import { AnyObject } from '../../../../../es/shared/types';
2
+ import { ComponentInternalInstance, CSSProperties } from 'vue';
3
+ export declare namespace GuideDefine {
4
+ type StepRender = string | ((next: () => void, cancel: () => void, to: (idx: number) => void) => any);
5
+ type StepGuard = (step: Step, index: number) => unknown | Promise<unknown>;
6
+ type Step = Partial<{
7
+ title: StepRender;
8
+ content: StepRender;
9
+ target: string | HTMLElement;
10
+ footer: StepRender;
11
+ }>;
12
+ type DomProps = Partial<{
13
+ class: unknown;
14
+ style: CSSProperties;
15
+ }> & AnyObject;
16
+ type Placement = 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end';
17
+ type Config = Partial<{
18
+ to: string | HTMLElement;
19
+ placement: Placement;
20
+ pointer: boolean;
21
+ vueInstance: ComponentInternalInstance | null;
22
+ esc: boolean;
23
+ zIndex: number;
24
+ minWidth: string | number;
25
+ maxWidth: string | number;
26
+ offset: number;
27
+ skipText: string;
28
+ nextText: string;
29
+ endText: string;
30
+ skippable: boolean;
31
+ anime: boolean;
32
+ wrapperProps: DomProps;
33
+ stepProps: DomProps;
34
+ beforeStep: StepGuard;
35
+ afterStep: StepGuard;
36
+ beforeSkip: () => unknown | Promise<unknown>;
37
+ }> & {
38
+ steps: Step[];
39
+ };
40
+ }
@@ -0,0 +1,6 @@
1
+ import { GuideDefine } from '../../../../es/components/guide/src/types';
2
+ declare function start(config: GuideDefine.Config): () => Promise<void>;
3
+ export declare function useGuide(): {
4
+ start: typeof start;
5
+ };
6
+ export {};
@@ -0,0 +1 @@
1
+ import{render as e,createVNode as t,mergeProps as n}from"vue";import{promiseTimeout as o}from"@vueuse/shared";import{isArray as s,isNumber as i,isFunction as a,isString as r}from"lodash-es";import{createGuideStep as l}from"./renderer.js";import{GuideError as c,GuideUtils as p,useGuideStyle as u}from"./utils/index.js";function d(s,{config:i,length:c,index:u,prevTop:d,prevLeft:y,wrapper:m},f,h,v){const{anime:w=!0,beforeSkip:g,beforeStep:E,afterStep:x,offset:b,stepProps:C,vueInstance:S,placement:_}=i;return{mount:async function(){try{await(a(E)&&E(s,u))}catch(e){return v(u-1),void f([y,d])}const{target:k,title:L,content:P,footer:T}=s,j=p.findElement(k);p.setShadowEle(m,j);const M=p.createEle("div",{class:"guide__stepWrapper",style:{top:d,left:y}});"0"===y&&"0"===d||!w||p.setStyle(M,{transition:"all .2s linear"}),m.appendChild(M);const z=l(S);async function I(t,n=!0){var s;t(),n&&(p.setStyle(M,{transition:"opacity .2s linear"}),M.style.opacity="0",await o(200)),e(null,M),null==(s=M.parentElement)||s.removeChild(M)}let N="0",q="0";const A=async()=>{await(a(x)&&x(s,u)),I((()=>f([N,q])),u===c-1)},F=async()=>{await(a(g)&&g()),I(h)},O=async e=>{e!==u&&(v(e),A())};e(t(z,n(C,{index:u,length:c,config:i,onCancel:F,onNext:A,onToNext:O}),{header:a(L)?()=>L(A,F,O):r(L)?()=>L:null,body:a(P)?()=>P(A,F,O):r(P)?()=>P:null,footer:a(T)?()=>T(A,F,O):r(T)?()=>T:null}),M),setTimeout((()=>{[N,q]=p.syncPosition(M,j,b,_)}),0)}}}function y(e){const{to:t=document.body,steps:n=[]}=e;if(!s(n)||!n.length)throw new c("empty steps");const a=p.findElement(t),{unmount:r,mount:l,wrapper:y}=function(e,{zIndex:t=3e3,esc:n,wrapperProps:s={},anime:i=!0}){const{load:a,unload:r}=u(),l=p.createEle("div",{class:"guide__shadowEle"});i&&Object.assign(l.style,{transition:"all 0.2s linear"});const c=p.createEle("section",{class:["guide__wrapper",s.class?s.class:""],style:{"z-index":t,...s.style}});c.appendChild(l);const d=e.style.position;d&&"static"!==d||(e.style.position="relative");const y=async()=>{c.style.opacity="0",await o(200),e.removeChild(c),e.style.position=d,r()};if(n){const e=async t=>{if("Escape"===t.key)return await y(),void document.body.removeEventListener("keyup",e)};document.body.addEventListener("keyup",e)}return{wrapper:c,unmount:y,mount:()=>{a(),e.appendChild(c),requestAnimationFrame((()=>c.style.opacity="1"))}}}(a,e);return l(),(async()=>{try{let t="0",o="0";for(let s=0;s<n.length;s++){const a=n[s];[t,o]=await new Promise(((r,l)=>{d(a,{config:e,index:s,wrapper:y,length:n.length,prevLeft:t,prevTop:o},r,l,(e=>{if(i(e))return e<0?l():void(s=Math.min(n.length-1,Math.abs(Math.floor(e)))-1)})).mount()}))}}finally{r()}})(),r}function m(){return{start:y}}export{m as useGuide};
@@ -0,0 +1,14 @@
1
+ import { CSSProperties } from 'vue';
2
+ import { GuideDefine } from '../../../../../es/components/guide/src/types';
3
+ export declare class GuideError extends Error {
4
+ constructor(message: string);
5
+ }
6
+ export declare const GuideUtils: Readonly<{
7
+ createEle<T extends keyof HTMLElementTagNameMap>(tag: T, props?: GuideDefine.DomProps): HTMLElementTagNameMap[T];
8
+ setStyle(ele: HTMLElement, styles: CSSProperties): void;
9
+ findElement(target: unknown): HTMLElement;
10
+ getShadowEleFromWrapper(wrapper: HTMLElement): HTMLElement | null;
11
+ setShadowEle(wrapper: HTMLElement, target: HTMLElement): void;
12
+ syncPosition(ele: HTMLElement, target: HTMLElement, offset?: number, placement?: GuideDefine.Placement): [string, string];
13
+ }>;
14
+ export declare const useGuideStyle: () => import("@vueuse/core").UseStyleTagReturn;
@@ -0,0 +1 @@
1
+ import{widthAppend as t}from"../../../../shared/utils/index.js";import{useStyleTag as e}from"@vueuse/core";import{isString as i,isObject as o}from"lodash-es";import{normalizeClass as r}from"vue";class n extends Error{constructor(t){super(`[CGuide]: ${t}`)}}const p=Object.freeze({createEle(t,e={}){const i=document.createElement(t);return e.class&&i.classList.add(r(e.class)),e.style&&this.setStyle(i,e.style),i},setStyle(t,e){Object.assign(t.style,e)},findElement(t){const e=i(t)?document.querySelector(t):o(t)?t:void 0;if(!o(e))throw new n(`can't find target element by ${t}`);return e},getShadowEleFromWrapper:t=>t.querySelector(".guide__shadowEle"),setShadowEle(e,i){const o=this.getShadowEleFromWrapper(e);if(!o)return;const{left:r,top:n}=i.getBoundingClientRect();Object.assign(o.style,{left:t(r),top:t(n),width:t(i.clientWidth),height:t(i.clientHeight)})},syncPosition(e,i,o=24,r="right-start"){const{top:n,left:p,right:s,bottom:l,width:d,height:a}=i.getBoundingClientRect(),{clientHeight:h,clientWidth:c}=e,{clientHeight:g,clientWidth:f}=document.body,u=e.querySelector(".guide__stepPointerWrapper"),m=u&&u.querySelector(".guide__stepPointerLine"),x={},b=f-s-o>=c,w=p-o>=c,_=p+d/2>=c/2&&f-s+d/2>=c/2,y=n+h-18<=g,v=l+18>=h,S=s>c,D=p+c<f,E=n-18>=h,W=n+a/2>=h/2&&g-l+a/2>=h/2,B=g-l-18>=h,j={"top-start":D&&E,top:E&&_,"top-end":S&&E,"left-start":w&&y,left:w&&W,"left-end":w&&v,"right-start":b&&y,right:b&&W,"right-end":b&&v,"bottom-start":D&&B,bottom:B&&_,"bottom-end":S&&B},k=t(s+o),O=t(p-o-c),P=t(n-o-h),C=t(l+o),q=t(n-18),H=t(Math.floor((n+l-h)/2)),M=t(l-h+18),z=t(p),L=t(Math.floor(p+s-c)/2),F=t(s-c),R=t(Math.min(26,18+a-6)),T=t(Math.min(26,d-8)),X=[["right-start",{step:{left:k,top:q},pointer:{left:t(-o),flexDirection:"row-reverse",top:R},line:{width:t(o+4)}}],["right-end",{step:{left:k,top:M},pointer:{left:t(-o),flexDirection:"row-reverse",bottom:R},line:{width:t(o+4)}}],["right",{step:{left:k,top:H},pointer:{left:t(-o),flexDirection:"row-reverse",top:"50%",transform:"translateY(-50%)"},line:{width:t(o+4)}}],["left-start",{step:{left:O,top:q},pointer:{right:t(-o),top:R},line:{width:t(o+4)}}],["left-end",{step:{left:O,top:M},pointer:{right:t(-o),bottom:R},line:{width:t(o+4)}}],["left",{step:{left:O,top:H},pointer:{right:t(-o),top:"50%",transform:"translateY(-50%)"},line:{width:t(o+4)}}],["top-start",{step:{left:z,top:P},pointer:{left:T,flexDirection:"column",bottom:t(-o)},line:{width:t(3),height:t(o+4)}}],["top-end",{step:{left:F,top:P},pointer:{right:T,flexDirection:"column",bottom:t(-o)},line:{width:t(3),height:t(o+4)}}],["top",{step:{left:L,top:P},pointer:{left:"50%",transform:"translateX(-50%)",flexDirection:"column",bottom:t(-o)},line:{width:t(3),height:t(o+4)}}],["bottom-start",{step:{left:z,top:C},pointer:{left:T,flexDirection:"column-reverse",top:t(-o)},line:{width:t(3),height:t(o+4)}}],["bottom-end",{step:{left:F,top:C},pointer:{right:T,flexDirection:"column-reverse",top:t(-o)},line:{width:t(3),height:t(o+4)}}],["bottom",{step:{left:L,top:C},pointer:{left:"50%",transform:"translateX(-50%)",flexDirection:"column-reverse",top:t(-o)},line:{width:t(3),height:t(o+4)}}]],[,Y]=(j[r]?X.find((t=>t[0]===r)):X.find((t=>j[t[0]])))||X.find((t=>t[0]===r))||X[0];return Object.assign(x,Y.step),u&&Object.assign(u.style,Y.pointer),m&&Object.assign(m.style,Y.line),this.setStyle(e,x),[x.left,x.top]}}),s=()=>e("\n\t.guide__wrapper{position: absolute;top: 0;bottom: 0;left: 0;right: 0;opacity: 0;transition: opacity .2s linear;}\n\t.guide__shadowEle{position: fixed;background: transparent;box-shadow: 0 0 0 10000px rgba(0,0,0,0.3)}\n\t.guide__stepWrapper{position: fixed;z-index: 1;opacity: 1}\n\t.guide__stepPointerWrapper{position:absolute;display:flex;flex-wrap:nowrap;align-items:center;}\n\t.guide__stepPointer{border-radius:50%;width:12px;height:12px;background:var(--c-primary-color);margin:-1px;}\n\t.guide__stepPointerLine{background:var(--c-primary-color);height:3px;}\n\t.guide__stepContentWrapper{background: white;min-width: 260px;padding: 24px;display: flex;flex-direction: column;gap: 8px;border-radius: 4px;position:relative}\n\t.guide__stepHeader{font-size:20px;}\n\t.guide__stepBody{margin:12px 0 16px 0;color:#a5a5a5}\n\t.guide__stepSkipBtn{}\n\t.guide__stepNextBtn{width:120px}\n\t.guide__stepToBtn{padding:0}\n\t.guide__stepToBtnContent{border-radius:50%;width:8px;height:8px;background:#c5c5c5}\n\t.guide__stepActiveBtn{width:10px;height:10px;background:var(--c-primary-color)}\n\t");export{n as GuideError,p as GuideUtils,s as useGuideStyle};
@@ -4592,6 +4592,7 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
4592
4592
  updateState: () => void;
4593
4593
  header: any;
4594
4594
  footer: any;
4595
+ slotPropertiesPicker: (args: import("../../../es/shared/types").AnyObject) => Pick<import("../../../es/shared/types").AnyObject, "row" | "column" | "rowIndex" | "checked" | "$rowIndex" | "disabled" | "columnIndex" | "$columnIndex" | "_columnIndex" | "indeterminate">;
4595
4596
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "rowDrag" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd")[], "toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "rowDrag" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
4596
4597
  tableConfig: {
4597
4598
  type: import("vue").PropType<import("../../../es/components/iho-table/src/types").IhoTableConfig>;
@@ -4591,6 +4591,7 @@ declare const _default: import("vue").DefineComponent<{
4591
4591
  updateState: () => void;
4592
4592
  header: any;
4593
4593
  footer: any;
4594
+ slotPropertiesPicker: (args: AnyObject) => Pick<AnyObject, "row" | "column" | "rowIndex" | "checked" | "$rowIndex" | "disabled" | "columnIndex" | "$columnIndex" | "_columnIndex" | "indeterminate">;
4594
4595
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "rowDrag" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd")[], "toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "rowDrag" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
4595
4596
  tableConfig: {
4596
4597
  type: PropType<IhoTableConfig>;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as t,provide as a,ref as o,watch as l,resolveComponent as s,openBlock as n,createElementBlock as i,unref as r,normalizeStyle as u,createBlock as c,resolveDynamicComponent as f,createElementVNode as d,createVNode as m,mergeProps as p,createSlots as v,renderList as b,withCtx as h,createCommentVNode as g,renderSlot as x}from"vue";import{useTheme as k}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as y}from"@vueuse/core";import"date-fns";import{isString as C,isFunction as D}from"lodash-es";import{widthAppend as j,uuidGenerator as $}from"../../../shared/utils/index.js";import{promiseTimeout as _}from"@vueuse/shared";import{VxeTableEventNameList as H,InjectionIhoTableEmits as T,InjectionIhoTableAnnotation as w,InjectionIhoTableUUID as A,InjectionIhoTableInstance as L,InjectionIhoTableConfig as R,InjectionIhoTableFieldList as E,InjectionIhoTableHandler as F}from"./constants/index.js";import{createTableHooks as I,applyTableConfigHooks as O,applyTableFieldHooks as S,createTableEventHandlers as W,createDomInsertComponent as q,createDataTransfer as z}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as B}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as G}from"./utils/index.js";import J from"../../../_virtual/plugin-vue_export-helper.js";const K=["id"];var M=J(e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object}},emits:["formChange","settingClick","formClick","keyboard","rowDrag",...H],setup(e,{expose:H,emit:J}){var M,N;const P=e,Q=k({"--c-border-color":"#e2e2e2","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#f7f7f7"}),U=t((()=>{var e,t;const a=null!=(t=null==(e=P.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===a?"100%":C(a)&&(a.includes("calc")||a.endsWith("%"))?a:j(a)}})),V=B(),X=function(e,...t){J(e,...t);const a=r(te)[G(e)];D(a)&&a(...t),V.trigger(e,...t)};a(T,X);const Y=I();a(w,t((()=>P.annotation)));const Z=$();a(A,Z);const ee=o();a(L,ee);const te=o({uuid:null!=(N=null==(M=P.tableConfig)?void 0:M.uuid)?N:Z});a(R,te);const ae=y(oe,10);function oe(){te.value=O(Y,P.tableConfig,{$table:ee,emits:X}),te.value.uuid=Z}const le=o([]);a(E,le);const se=y(ne,10);function ne(){le.value=S(Y,P.fieldList,te.value,{$table:ee,emits:X})}const ie=z(Y,te,ee),re=o([]);async function ue(){var e;re.value=await ie(P.tableData),null==(e=ee.value)||e.recalculate(!0)}const ce={updateTableDataRef:y(ue,10),updateConfigRef:ae,updateFieldListRef:se};a(F,ce);const fe=W({hooks:Y,config:te,$table:ee,context:ce,emits:X}),de=t((()=>({...te.value,...fe})));let me=!1,pe=!1,ve=!1;const be=y((()=>{me&&oe(),pe&&ne(),ve&&ue(),me=!1,pe=!1,ve=!1}),10);l((()=>P.tableConfig),(()=>{me=!0,pe=!0,ve=!0,be()}),{deep:!0}),l((()=>P.fieldList),(()=>{pe=!0,ve=!0,be()}),{deep:!0}),l([()=>[...P.tableData],()=>{var e;return null==(e=P.tableData)?void 0:e.length}],(()=>{ve=!0,be()})),l([()=>P.tableData,()=>{var e;return null==(e=P.tableData)?void 0:e.length}],(async()=>{var e,t;(null==(e=te.value.treeConfig)?void 0:e.expandAll)&&(await _(11),null==(t=ee.value)||t.setAllTreeExpand(!0))})),oe(),ne(),ue();const{header:he,footer:ge}=q(Y);return H({$table:ee,async loadData(e){var t;null==(t=ee.value)||t.loadData(await ie(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),...Y.exposeHooks.expose.call({},te,{$table:ee,emits:X})}),Y.setupHooks.setup.call(te,le,{$table:ee,emits:X}),(e,t)=>{const a=s("vxe-grid");return n(),i("section",{class:"iho-table",id:r(Z),style:u(r(Q))},[(n(),c(f(r(he)))),d("section",{style:u(r(U))},[m(a,p({ref_key:"$table",ref:ee},r(de),{columns:le.value,data:re.value}),v({_:2},[b(e.$slots,((t,a)=>({name:a,fn:h((()=>[g(" 实际上所有的vxe-grid插槽都支持 "),x(e.$slots,a)]))})))]),1040,["columns","data"])],4),(n(),c(f(r(ge))))],12,K)}}}),[["__file","IhoTable.vue"]]);export{M as default};
1
+ import{defineComponent as e,computed as t,provide as o,ref as a,watch as l,resolveComponent as n,openBlock as s,createElementBlock as r,unref as i,normalizeStyle as u,createBlock as c,resolveDynamicComponent as d,createElementVNode as f,createVNode as m,mergeProps as p,createSlots as v,renderList as b,withCtx as h,createCommentVNode as g,renderSlot as x,normalizeProps as k,guardReactiveProps as y}from"vue";import{useTheme as $}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as C}from"@vueuse/core";import"date-fns";import{isString as D,isFunction as j,pick as _}from"lodash-es";import{widthAppend as w,uuidGenerator as I}from"../../../shared/utils/index.js";import{promiseTimeout as H}from"@vueuse/shared";import{VxeTableEventNameList as T,InjectionIhoTableEmits as A,InjectionIhoTableAnnotation as L,InjectionIhoTableUUID as R,InjectionIhoTableInstance as E,InjectionIhoTableConfig as F,InjectionIhoTableFieldList as O,InjectionIhoTableHandler as S}from"./constants/index.js";import{createTableHooks as W,applyTableConfigHooks as q,applyTableFieldHooks as z,createTableEventHandlers as B,createDomInsertComponent as G,createDataTransfer as J}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as K}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as M}from"./utils/index.js";import N from"../../../_virtual/plugin-vue_export-helper.js";const P=["id"];var Q=N(e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object}},emits:["formChange","settingClick","formClick","keyboard","rowDrag",...T],setup(e,{expose:T,emit:N}){var Q,U;const V=e,X=$({"--c-border-color":"#e2e2e2","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#f7f7f7"}),Y=t((()=>{var e,t;const o=null!=(t=null==(e=V.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===o?"100%":D(o)&&(o.includes("calc")||o.endsWith("%"))?o:w(o)}})),Z=K(),ee=function(e,...t){N(e,...t);const o=i(le)[M(e)];j(o)&&o(...t),Z.trigger(e,...t)};o(A,ee);const te=W();o(L,t((()=>V.annotation)));const oe=I();o(R,oe);const ae=a();o(E,ae);const le=a({uuid:null!=(U=null==(Q=V.tableConfig)?void 0:Q.uuid)?U:oe});o(F,le);const ne=C(se,10);function se(){le.value=q(te,V.tableConfig,{$table:ae,emits:ee}),le.value.uuid=oe}const re=a([]);o(O,re);const ie=C(ue,10);function ue(){re.value=z(te,V.fieldList,le.value,{$table:ae,emits:ee})}const ce=J(te,le,ae),de=a([]);async function fe(){var e;de.value=await ce(V.tableData),null==(e=ae.value)||e.recalculate(!0)}const me={updateTableDataRef:C(fe,10),updateConfigRef:ne,updateFieldListRef:ie};o(S,me);const pe=B({hooks:te,config:le,$table:ae,context:me,emits:ee}),ve=t((()=>({...le.value,...pe})));let be=!1,he=!1,ge=!1;const xe=C((()=>{be&&se(),he&&ue(),ge&&fe(),be=!1,he=!1,ge=!1}),10);l((()=>V.tableConfig),(()=>{be=!0,he=!0,ge=!0,xe()}),{deep:!0}),l((()=>V.fieldList),(()=>{he=!0,ge=!0,xe()}),{deep:!0}),l([()=>[...V.tableData],()=>{var e;return null==(e=V.tableData)?void 0:e.length}],(()=>{ge=!0,xe()})),l([()=>V.tableData,()=>{var e;return null==(e=V.tableData)?void 0:e.length}],(async()=>{var e,t;(null==(e=le.value.treeConfig)?void 0:e.expandAll)&&(await H(11),null==(t=ae.value)||t.setAllTreeExpand(!0))})),se(),ue(),fe();const{header:ke,footer:ye}=G(te);function $e(e){return _(e,["row","rowIndex","$rowIndex","column","columnIndex","$columnIndex","_columnIndex","checked","disabled","indeterminate"])}return T({$table:ae,async loadData(e){var t;null==(t=ae.value)||t.loadData(await ce(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),...te.exposeHooks.expose.call({},le,{$table:ae,emits:ee})}),te.setupHooks.setup.call(le,re,{$table:ae,emits:ee}),(e,t)=>{const o=n("vxe-grid");return s(),r("section",{class:"iho-table",id:i(oe),style:u(i(X))},[(s(),c(d(i(ke)))),f("section",{style:u(i(Y))},[m(o,p({ref_key:"$table",ref:ae},i(ve),{columns:re.value,data:de.value}),v({_:2},[b(e.$slots,((t,o)=>({name:o,fn:h((t=>[g(" 实际上所有的vxe-grid插槽都支持 "),x(e.$slots,o,k(y($e(t))))]))})))]),1040,["columns","data"])],4),(s(),c(d(i(ye))))],12,P)}}}),[["__file","IhoTable.vue"]]);export{Q as default};
@@ -1 +1 @@
1
- import{createVNode as e}from"vue";import"../../../index.js";import t from"./filter.vue.js";import{isValid as i,compareDesc as n}from"date-fns";import{isObject as r,isArray as o}from"@vue/shared";import{defineTablePlugin as l}from"../../hooks/useTablePlugin.js";function a(){const a="filterDaterangeRenderPlugin";return l({name:a,vxe(i){i.renderer.mixin({filterDaterangeRenderPlugin:{showFilterFooter:!1,renderFilter:(i,n)=>e(t,{payload:n,key:n.column.field},null)}})},apply(e){e.fieldHooks.field.tap(a,((e,t,l,{$table:a})=>{var f,d,u,s;const m=null==(f=e.editRender)?void 0:f.props;if(!r(m))return e;if(!(null==(d=null==m?void 0:m.filterSetting)?void 0:d.daterange))return e;e.filterRender={name:"filterDaterangeRenderPlugin"};const c=null==(u=a.value)?void 0:u.getColumnByField(e.field),p={};return c&&o(c.filters)&&Object.assign(p,{...(null==(s=c.filters)?void 0:s[0])||{}}),e.filters=[{data:void 0,...p}],e.filterMethod||(e.filterMethod=function({option:e,row:t,column:r}){const{data:o}=e,l=t[r.field];return!!i(new Date(l))&&(n(new Date(l),new Date(o[0]))<=0&&n(new Date(l),new Date(o[1]))>=0)}),l.filterConfig={iconMatch:"iho-table--iconfont iho-table-icon-filter",iconNone:"iho-table--iconfont iho-table-icon-filter",...l.filterConfig},e}))}})}export{a as filterDaterangeRenderPlugin};
1
+ import{createVNode as e}from"vue";import"../../../index.js";import t from"./filter.vue.js";import{isValid as i,compareDesc as o}from"date-fns";import{isObject as n,isArray as r}from"@vue/shared";import{defineTablePlugin as l}from"../../hooks/useTablePlugin.js";function f(){const f="filterDaterangeRenderPlugin";return l({name:f,vxe(i){i.renderer.mixin({[f]:{showFilterFooter:!1,renderFilter:(i,o)=>e(t,{payload:o,key:o.column.field},null)}})},apply(e){e.fieldHooks.field.tap(f,((e,t,l,{$table:a})=>{var d,u,s,m;const c=null==(d=e.editRender)?void 0:d.props;if(!n(c))return e;if(!(null==(u=null==c?void 0:c.filterSetting)?void 0:u.daterange))return e;e.filterRender={name:f};const p=null==(s=a.value)?void 0:s.getColumnByField(e.field),v={};return p&&r(p.filters)&&Object.assign(v,{...(null==(m=p.filters)?void 0:m[0])||{}}),e.filters=[{data:void 0,...v}],e.filterMethod||(e.filterMethod=function({option:e,row:t,column:n}){const{data:r}=e,l=t[n.field];return!!i(new Date(l))&&(o(new Date(l),new Date(r[0]))<=0&&o(new Date(l),new Date(r[1]))>=0)}),l.filterConfig={iconMatch:"iho-table--iconfont iho-table-icon-filter",iconNone:"iho-table--iconfont iho-table-icon-filter",...l.filterConfig},e}))}})}export{f as filterDaterangeRenderPlugin};
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties, PropType, ref } from 'vue';
2
- import { VxeColumnPropTypes, VxeTableConstructor, VxeTableDefines, VxeTableMethods, VxeTablePrivateMethods, VxeTablePropTypes } from 'vxe-table';
2
+ import { VxeColumnPropTypes, VxeTableConstructor, VxeTableMethods, VxeTablePrivateMethods } from 'vxe-table';
3
3
  declare const _default: import("vue").DefineComponent<{
4
4
  payload: {
5
5
  type: PropType<VxeColumnPropTypes.FilterSlotParams>;
@@ -12,17 +12,15 @@ declare const _default: import("vue").DefineComponent<{
12
12
  required: true;
13
13
  };
14
14
  }>> & {}>>;
15
- sortable: import("vue").ComputedRef<any>;
16
- optionsRef: import("vue").ComputedRef<VxeTableDefines.FilterOption[] & VxeColumnPropTypes.Filter[]>;
15
+ optionsRef: import("vue").ComputedRef<import("vxe-table").VxeTableDefines.FilterOption[] & VxeColumnPropTypes.Filter[]>;
17
16
  checkedRef: import("vue").WritableComputedRef<string[]>;
18
17
  $table: (VxeTableConstructor & VxeTablePrivateMethods & VxeTableMethods) | undefined;
19
- sortStatusRef: import("vue").WritableComputedRef<"desc" | "asc" | null>;
20
18
  checkedCacheRef: import("vue").Ref<string[]>;
21
19
  searchFilterText: import("vue").Ref<string>;
22
20
  close: () => void;
23
21
  OPTION_ITEM_HEIGHT: number;
24
22
  viewCapacity: import("vue").ComputedRef<number>;
25
- list: import("vue").Ref<import("@vueuse/core").UseVirtualListItem<VxeTableDefines.FilterOption>[]>;
23
+ list: import("vue").Ref<import("@vueuse/core").UseVirtualListItem<import("vxe-table").VxeTableDefines.FilterOption>[]>;
26
24
  containerProps: {
27
25
  ref: import("vue").Ref<any>;
28
26
  onScroll: () => void;
@@ -40,12 +38,6 @@ declare const _default: import("vue").DefineComponent<{
40
38
  containerStyleWithHeight: import("vue").ComputedRef<CSSProperties>;
41
39
  confirmFilter: () => void;
42
40
  reset: () => void;
43
- sortStatusList: {
44
- status: VxeTablePropTypes.SortOrder;
45
- text: string;
46
- }[];
47
- setSort: (value: VxeTablePropTypes.SortOrder) => void;
48
- CheckmarkOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
49
41
  NButton: any;
50
42
  NButtonGroup: any;
51
43
  NCheckbox: any;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as l,inject as t,ref as a,onDeactivated as o,openBlock as u,createElementBlock as n,unref as r,Fragment as i,renderList as s,createElementVNode as v,normalizeClass as c,createBlock as d,createCommentVNode as p,createTextVNode as f,toDisplayString as m,createVNode as h,isRef as _,withCtx as y,normalizeStyle as g}from"vue";import{widthAppend as b}from"../../../../../shared/utils/index.js";import{CheckmarkOutline as k}from"@vicons/ionicons5";import{useVirtualList as C}from"@vueuse/core";import{isNumber as x}from"lodash-es";import{NInput as S,NCheckbox as $,NCheckboxGroup as E,NButtonGroup as j,NButton as w}from"naive-ui";import A from"../../../../../_virtual/plugin-vue_export-helper.js";const I={class:"iho-table__filterWrapper"},L={key:0},U=["onClick"],B={class:"iho-table__filterListItem"},F={class:"iho-table__filterFooter"};var O=A(e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const A=e,O=l((()=>{var e,l,t;return null==(t=null==(l=null==(e=A.payload)?void 0:e.column.editRender)?void 0:l.props)?void 0:t.sortable})),P=l((()=>{var e,l,t;return null!=(t=null==(l=null==(e=A.payload)?void 0:e.column)?void 0:l.filters)?t:[]})),R=l({get:()=>P.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),set(e){if(A.payload)return P.value.forEach((l=>{A.payload.$panel.changeOption(null,e.includes(l.value),l)})),A.payload.$panel.confirmFilter(new CustomEvent("click"))}}),W=t("$xetable"),Z=l({get(){if(!W)return null;const e=W.getSortColumns().find((e=>{var l;return e.column===(null==(l=A.payload)?void 0:l.column)}));return e?e.order:null},set(e){W&&A.payload&&A.payload.$panel&&W.triggerSortEvent(new CustomEvent("click"),A.payload.column,e)}}),q=a([...R.value]),z=a("");function D(){W&&(W.reactData.filterStore.visible=!1)}o(D);const H=l((()=>{var e,l;if(!A.payload||!A.payload.column)return 10;const{filterCapacity:t}=null!=(l=null==(e=A.payload.column.editRender)?void 0:e.props)?l:{};return x(t)&&t>0?t:10})),{list:G,containerProps:J,wrapperProps:K}=C(l((()=>z.value?P.value.filter((e=>`${e.label}`.includes(z.value))):P.value)),{itemHeight:32,overscan:3}),M=l((()=>!!q.value.length&&q.value.length!==P.value.length)),N=l({get:()=>q.value.length===P.value.length&&0!==P.value.length,set:e=>{q.value=e?P.value.map((e=>e.value)):[]}}),Q=l((()=>({...J.style,height:b(32*H.value)})));function T(){R.value=q.value,D()}function V(){q.value=[]}const X=[{status:"asc",text:"升序 A to Z"},{status:"desc",text:"降序 Z to A"}];return(e,l)=>(u(),n("section",I,[r(O)?(u(),n("div",L,[(u(),n(i,null,s(X,(e=>v("div",{key:e.status,class:c(["iho-table__filterButton",{"iho-table__filterButton--active":r(Z)===e.status}]),onClick:l=>{return t=e.status,Z.value=t,void D();var t}},[r(Z)===e.status?(u(),d(r(k),{key:0,class:"iho-table__sortActiveIcon"})):p("v-if",!0),f(" "+m(e.text),1)],10,U))),64))])):p("v-if",!0),r(P).length>5?(u(),d(r(S),{key:1,value:z.value,"onUpdate:value":l[0]||(l[0]=e=>z.value=e)},null,8,["value"])):p("v-if",!0),v("div",B,[h(r($),{label:"全选",checked:r(N),"onUpdate:checked":l[1]||(l[1]=e=>_(N)?N.value=e:null),indeterminate:r(M)},null,8,["checked","indeterminate"])]),h(r(E),{value:q.value,"onUpdate:value":l[3]||(l[3]=e=>q.value=e)},{default:y((()=>[v("section",{ref:r(J).ref,style:g(r(Q)),onScroll:l[2]||(l[2]=(...e)=>r(J).onScroll&&r(J).onScroll(...e)),class:"iho-table__filterListWrapper"},[v("section",{style:g(r(K).style)},[(u(!0),n(i,null,s(r(G),(e=>(u(),n("div",{class:"iho-table__filterListItem",key:e.data.value},[h(r($),{value:e.data.value,label:e.data.label},null,8,["value","label"])])))),128))],4)],36)])),_:1},8,["value"]),v("footer",F,[v("section",null,m(`已选择${q.value.length}项`),1),h(r(j),{size:"small"},{default:y((()=>[h(r(w),{onClick:V},{default:y((()=>[f("清空")])),_:1}),h(r(w),{onClick:D},{default:y((()=>[f("取消")])),_:1}),h(r(w),{type:"primary",onClick:T},{default:y((()=>[f("确定")])),_:1})])),_:1})])]))}}),[["__file","filter.vue"]]);export{O as default};
1
+ import{defineComponent as e,computed as l,inject as a,ref as t,onDeactivated as u,openBlock as r,createElementBlock as o,unref as i,createBlock as n,createCommentVNode as v,createElementVNode as s,createVNode as c,isRef as p,withCtx as d,normalizeStyle as f,Fragment as h,renderList as m,toDisplayString as _,createTextVNode as y}from"vue";import{widthAppend as g}from"../../../../../shared/utils/index.js";import{useVirtualList as b}from"@vueuse/core";import{isNumber as k}from"lodash-es";import{NInput as C,NCheckbox as $,NCheckboxGroup as x,NButtonGroup as S,NButton as j}from"naive-ui";import L from"../../../../../_virtual/plugin-vue_export-helper.js";const U={class:"iho-table__filterWrapper"},w={class:"iho-table__filterListItem"},E={class:"iho-table__filterFooter"};var F=L(e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const L=e,F=l((()=>{var e,l,a;return null!=(a=null==(l=null==(e=L.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),I=l({get:()=>F.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),set(e){if(L.payload)return F.value.forEach((l=>{L.payload.$panel.changeOption(null,e.includes(l.value),l)})),L.payload.$panel.confirmFilter(new CustomEvent("click"))}}),O=a("$xetable"),P=t([...I.value]),W=t("");function q(){O&&(O.reactData.filterStore.visible=!1)}u(q);const z=l((()=>{var e,l;if(!L.payload||!L.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=L.payload.column.editRender)?void 0:e.props)?l:{};return k(a)&&a>0?a:10})),{list:D,containerProps:H,wrapperProps:R}=b(l((()=>W.value?F.value.filter((e=>`${e.label}`.includes(W.value))):F.value)),{itemHeight:32,overscan:3}),A=l((()=>!!P.value.length&&P.value.length!==F.value.length)),B=l({get:()=>P.value.length===F.value.length&&0!==F.value.length,set:e=>{P.value=e?F.value.map((e=>e.value)):[]}}),G=l((()=>({...H.style,height:g(32*z.value)})));function J(){I.value=P.value,q()}function K(){P.value=[]}return(e,l)=>(r(),o("section",U,[i(F).length>5?(r(),n(i(C),{key:0,value:W.value,"onUpdate:value":l[0]||(l[0]=e=>W.value=e)},null,8,["value"])):v("v-if",!0),s("div",w,[c(i($),{label:"全选",checked:i(B),"onUpdate:checked":l[1]||(l[1]=e=>p(B)?B.value=e:null),indeterminate:i(A)},null,8,["checked","indeterminate"])]),c(i(x),{value:P.value,"onUpdate:value":l[3]||(l[3]=e=>P.value=e)},{default:d((()=>[s("section",{ref:i(H).ref,style:f(i(G)),onScroll:l[2]||(l[2]=(...e)=>i(H).onScroll&&i(H).onScroll(...e)),class:"iho-table__filterListWrapper"},[s("section",{style:f(i(R).style)},[(r(!0),o(h,null,m(i(D),(e=>(r(),o("div",{class:"iho-table__filterListItem",key:e.data.value},[c(i($),{value:e.data.value,label:e.data.label},null,8,["value","label"])])))),128))],4)],36)])),_:1},8,["value"]),s("footer",E,[s("section",null,_(`已选择${P.value.length}项`),1),c(i(S),{size:"small"},{default:d((()=>[c(i(j),{onClick:K},{default:d((()=>[y("清空")])),_:1}),c(i(j),{onClick:q},{default:d((()=>[y("取消")])),_:1}),c(i(j),{type:"primary",onClick:J},{default:d((()=>[y("确定")])),_:1})])),_:1})])]))}}),[["__file","filter.vue"]]);export{F as default};