cnhis-design-vue 3.1.51-release.1 → 3.1.51-release.2

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 (83) hide show
  1. package/es/components/base-search/src/index.vue2.js +1 -1
  2. package/es/components/callback/index.d.ts +69 -0
  3. package/es/components/callback/index.js +1 -0
  4. package/es/components/callback/src/components/dialog/drawer.vue.d.ts +353 -0
  5. package/es/components/callback/src/components/dialog/drawer.vue.js +1 -0
  6. package/es/components/callback/src/components/dialog/drawer.vue2.js +1 -0
  7. package/es/components/callback/src/components/dialog/modal.vue.d.ts +166 -0
  8. package/es/components/callback/src/components/dialog/modal.vue.js +1 -0
  9. package/es/components/callback/src/components/dialog/modal.vue2.js +1 -0
  10. package/es/components/callback/src/components/popup/index.vue.d.ts +48 -0
  11. package/es/components/callback/src/components/popup/index.vue.js +1 -0
  12. package/es/components/callback/src/components/render/drawerIframe/index.vue.d.ts +62 -0
  13. package/es/components/callback/src/components/render/drawerIframe/index.vue.js +1 -0
  14. package/es/components/callback/src/components/render/drawerIframe/index.vue2.js +1 -0
  15. package/es/components/callback/src/components/render/enums.d.ts +5 -0
  16. package/es/components/callback/src/components/render/enums.js +1 -0
  17. package/es/components/callback/src/components/render/index.vue.d.ts +57 -0
  18. package/es/components/callback/src/components/render/index.vue.js +1 -0
  19. package/es/components/callback/src/components/render/popupMaps.d.ts +5700 -0
  20. package/es/components/callback/src/components/render/popupMaps.js +1 -0
  21. package/es/components/callback/src/index.vue.d.ts +68 -0
  22. package/es/components/callback/src/index.vue.js +1 -0
  23. package/es/components/callback/src/index.vue2.js +1 -0
  24. package/es/components/callback/src/types/index.d.ts +11 -0
  25. package/es/components/callback/style/callback-iconfont.ttf +0 -0
  26. package/es/components/callback/style/index.css +1 -0
  27. package/es/components/classification/src/index.vue2.js +1 -1
  28. package/es/components/expand-field/index.d.ts +0 -13
  29. package/es/components/expand-field/src/components/FormItemPerson.vue.d.ts +0 -13
  30. package/es/components/expand-field/src/components/PersonModal.vue.d.ts +0 -13
  31. package/es/components/expand-field/src/components/PersonModal.vue2.js +1 -1
  32. package/es/components/expand-field/src/components/form.vue.d.ts +0 -13
  33. package/es/components/expand-field/src/index.vue.d.ts +0 -13
  34. package/es/components/expand-field/src/index.vue2.js +1 -1
  35. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
  36. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  37. package/es/components/form-render/src/components/renderer/remoteSearch.d.ts +79 -2
  38. package/es/components/form-render/src/components/renderer/remoteSearch.js +1 -1
  39. package/es/components/form-render/src/hooks/useFormRenderOptions.d.ts +16 -10
  40. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  41. package/es/components/index.css +1 -1
  42. package/es/components/index.d.ts +4 -3
  43. package/es/components/index.js +1 -1
  44. package/es/components/scale-view/src/hooks/use-component.d.ts +615 -255
  45. package/es/components/select-label/index.d.ts +617 -256
  46. package/es/components/select-label/index.js +1 -1
  47. package/es/components/{iho-select-label/src/LabelFormContent.vue.d.ts → select-label/src/ihoLabel/IhoLabelFormContent.vue.d.ts} +5 -5
  48. package/es/components/select-label/src/ihoLabel/IhoLabelFormContent.vue.js +1 -0
  49. package/es/components/select-label/src/ihoLabel/IhoLabelFormContent.vue2.js +1 -0
  50. package/es/components/{iho-select-label/src/SelectLabel.vue.d.ts → select-label/src/ihoLabel/IhoSelectLabel.vue.d.ts} +7 -7
  51. package/es/components/select-label/src/ihoLabel/IhoSelectLabel.vue.js +1 -0
  52. package/es/components/select-label/src/ihoLabel/IhoSelectLabel.vue2.js +1 -0
  53. package/es/components/{iho-select-label/src/components/label-classify.vue.d.ts → select-label/src/ihoLabel/iho-label-classify.vue.d.ts} +1 -1
  54. package/es/components/select-label/src/ihoLabel/iho-label-classify.vue.js +1 -0
  55. package/es/components/select-label/src/ihoLabel/iho-label-classify.vue2.js +1 -0
  56. package/es/components/select-label/src/index.vue.d.ts +899 -0
  57. package/es/components/select-label/src/index.vue.js +1 -0
  58. package/es/components/select-label/src/index.vue2.js +1 -0
  59. package/es/components/table-filter/src/components/render-widget/components/SelectDynamicOption/index.vue2.js +1 -1
  60. package/es/components/table-filter/src/hooks/useAdvanced.js +1 -1
  61. package/es/shared/directive/flexibleResize.d.ts +4 -0
  62. package/es/{components/classification/src → shared}/directive/flexibleResize.js +1 -1
  63. package/es/shared/directive/index.d.ts +1 -0
  64. package/es/shared/directive/index.js +1 -0
  65. package/es/shared/package.json.js +1 -1
  66. package/es/shared/types/business.d.ts +7 -0
  67. package/es/shared/utils/index.d.ts +3 -3
  68. package/package.json +2 -2
  69. package/es/components/classification/src/directive/flexibleResize.d.ts +0 -28
  70. package/es/components/iho-select-label/index.d.ts +0 -363
  71. package/es/components/iho-select-label/index.js +0 -1
  72. package/es/components/iho-select-label/src/LabelFormContent.vue.js +0 -1
  73. package/es/components/iho-select-label/src/LabelFormContent.vue2.js +0 -1
  74. package/es/components/iho-select-label/src/SelectLabel.vue.js +0 -1
  75. package/es/components/iho-select-label/src/SelectLabel.vue2.js +0 -1
  76. package/es/components/iho-select-label/src/components/label-classify.vue.js +0 -1
  77. package/es/components/iho-select-label/src/components/label-classify.vue2.js +0 -1
  78. package/es/components/iho-select-label/style/iho-select-label-iconfont.ttf +0 -0
  79. package/es/components/iho-select-label/style/index.css +0 -1
  80. package/es/components/table-filter/src/types/tool.d.ts +0 -7
  81. /package/es/components/{iho-select-label → callback}/src/types/index.js +0 -0
  82. /package/es/components/{iho-select-label → select-label}/src/types/index.d.ts +0 -0
  83. /package/es/components/{table-filter/src/types/tool.js → select-label/src/types/index.js} +0 -0
@@ -3,7 +3,7 @@ import { PropType } from 'vue';
3
3
  import { UrlConfig } from '../../../../../../es/components/form-render';
4
4
  export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
5
5
  value: {
6
- type: PropType<String | null>;
6
+ type: PropType<string | null>;
7
7
  };
8
8
  requestCache: {
9
9
  type: BooleanConstructor;
@@ -22,17 +22,54 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
22
22
  type: StringConstructor;
23
23
  default: string;
24
24
  };
25
+ showField: {
26
+ type: StringConstructor;
27
+ };
25
28
  urlConfig: {
26
29
  type: PropType<UrlConfig>;
27
30
  };
31
+ autograph: {
32
+ type: StringConstructor;
33
+ };
34
+ wordbook: {
35
+ type: PropType<Partial<{
36
+ level_num: number;
37
+ id: string;
38
+ name: string;
39
+ render_key: string[];
40
+ search_key: string[];
41
+ value_key: string;
42
+ queryParams: string[];
43
+ primary_key: string;
44
+ type: string;
45
+ level_key: string;
46
+ link_key: string;
47
+ link_key_split: string;
48
+ show_key: string | string[];
49
+ conObj: AnyObject[];
50
+ conObjFirstLevel: AnyObject[];
51
+ setting: Partial<{
52
+ cascading: {
53
+ 'form.name': string;
54
+ value: string;
55
+ }[];
56
+ }>;
57
+ }>>;
58
+ };
28
59
  onChange: {};
29
60
  useLoading: {
30
61
  type: BooleanConstructor;
31
62
  default: boolean;
32
63
  };
64
+ lazyRequest: {
65
+ type: BooleanConstructor;
66
+ default: boolean;
67
+ };
68
+ multiple: BooleanConstructor;
69
+ deletable: BooleanConstructor;
33
70
  }, () => 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<{
34
71
  value: {
35
- type: PropType<String | null>;
72
+ type: PropType<string | null>;
36
73
  };
37
74
  requestCache: {
38
75
  type: BooleanConstructor;
@@ -51,21 +88,61 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
51
88
  type: StringConstructor;
52
89
  default: string;
53
90
  };
91
+ showField: {
92
+ type: StringConstructor;
93
+ };
54
94
  urlConfig: {
55
95
  type: PropType<UrlConfig>;
56
96
  };
97
+ autograph: {
98
+ type: StringConstructor;
99
+ };
100
+ wordbook: {
101
+ type: PropType<Partial<{
102
+ level_num: number;
103
+ id: string;
104
+ name: string;
105
+ render_key: string[];
106
+ search_key: string[];
107
+ value_key: string;
108
+ queryParams: string[];
109
+ primary_key: string;
110
+ type: string;
111
+ level_key: string;
112
+ link_key: string;
113
+ link_key_split: string;
114
+ show_key: string | string[];
115
+ conObj: AnyObject[];
116
+ conObjFirstLevel: AnyObject[];
117
+ setting: Partial<{
118
+ cascading: {
119
+ 'form.name': string;
120
+ value: string;
121
+ }[];
122
+ }>;
123
+ }>>;
124
+ };
57
125
  onChange: {};
58
126
  useLoading: {
59
127
  type: BooleanConstructor;
60
128
  default: boolean;
61
129
  };
130
+ lazyRequest: {
131
+ type: BooleanConstructor;
132
+ default: boolean;
133
+ };
134
+ multiple: BooleanConstructor;
135
+ deletable: BooleanConstructor;
62
136
  }>> & {
63
137
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
64
138
  }, {
65
139
  options: AnyObject[];
140
+ multiple: boolean;
66
141
  labelField: string;
67
142
  valueField: string;
143
+ lazyRequest: boolean;
68
144
  requestCache: boolean;
145
+ deletable: boolean;
69
146
  allowCreate: boolean;
70
147
  useLoading: boolean;
71
148
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,computed as a,inject as u,watch as n,createVNode as o}from"vue";import{connect as t,mapProps as r}from"@formily/vue";import{HelpCircleSharp as i}from"@vicons/ionicons5";import{useVModel as s,useDebounceFn as v}from"@vueuse/core";import{isString as p,isArray as d,cloneDeep as m,isEqual as c}from"lodash-es";import{NSelect as f,NSpin as y,NEmpty as g,NTooltip as C,NIcon as h}from"naive-ui";import"../../../index.js";import{InjectionAsyncQueue as j,InjectionChangeContextCollector as F,InjectionFormItemDepsCollector as x}from"../../constants/index.js";import{createUrlConfigParams as b,formRenderLog as w}from"../../utils/index.js";import{useCommonInjection as K,useSelectOptionProps as S}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as k,assignClearBindVisited as B,createVisitedSetter as L}from"../../utils/schema.js";import{useFormField as V}from"../../hooks/useFormField.js";const q=t(e({name:"FormRemoteSearch",props:{value:{type:String},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},allowCreate:Boolean,labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},urlConfig:{type:Object},onChange:{},useLoading:{type:Boolean,default:!0}},emits:["update:value"],setup(e,{slots:t,emit:r}){const k=s(e,"value",r),{field:B,fieldKey:q}=V(),A=l(null),I=a((()=>{var l,a,u;return null!=(u=null!=(a=null==(l=e.urlConfig)?void 0:l.nameKey)?a:e.labelField)?u:"text"})),O=a((()=>{var l,a,u;return null!=(u=null!=(a=null==(l=e.urlConfig)?void 0:l.valueKey)?a:e.valueField)?u:"value"})),P=u(j),U=l(""),D=l(!1),R=v((async(l="",a="label")=>{if(U.value=l,!e.urlConfig)return A.value=null;try{D.value=!0,A.value=[],A.value=await P.addAsync(await b({config:{...e.urlConfig,params:{...e.urlConfig.params,["value"===a?O.value:"keyword"]:l}},cache:e.requestCache,field:B.value}))}catch(e){p(e)&&w(e)}finally{D.value=!1}})),z=a((()=>d(A.value)?A.value:d(e.options)?e.options:[])),{injectValueValidate:E,injectValueBindKey:G}=K();E(k);const H=G(k);n(k,(e=>{if(e&&!z.value.find((l=>l[O.value]===e)))return R(e,"value")}));u(F).setContext(q.value,(e=>{return{currentOption:m((l=e,z.value.find((e=>e[O.value]===l))))};var l}));const J=u(x);n((()=>e.urlConfig),((e,l)=>{c(e,l)||(A.value=null,e&&(J.setDeps(q.value,e.dependKey||[],(async()=>{A.value=null,k.value=null})),k.value&&R(k.value,"value")))}),{immediate:!0});const{menuProps:M,nodeProps:N}=S(),Q=a((()=>z.value.length||!e.allowCreate?z.value:U.value?[{[I.value]:U.value,[O.value]:U.value},...z.value]:z.value));async function T(e){D.value=e,e&&R()}function W(e){const l=e.alias||e[I.value];if(!l||!p(l))return"";const a=l;return e.desc?o("section",{style:{display:"flex",alignItems:"center",gap:"4px"}},[a,e.desc?o(C,null,{trigger:()=>o(h,{component:i},null),default:()=>e.desc}):null]):a}return()=>o(f,{remote:!0,filterable:!0,key:H.value,value:k.value,"onUpdate:value":e=>k.value=e,labelField:I.value,valueField:O.value,"menu-props":M,"node-props":N,onSearch:R,"onUpdate:show":T,options:Q.value,onFocus:L(B),renderLabel:W},{empty:()=>e.useLoading&&D.value?o(y,null,null):o(g,{description:"无数据"},null),...t})}}),r(k,B));export{q as REMOTE_SEARCH};
1
+ import{defineComponent as e,watch as l,inject as o,computed as a,createVNode as t}from"vue";import{connect as n,mapProps as u}from"@formily/vue";import{HelpCircleSharp as r}from"@vicons/ionicons5";import{useVModel as i,useDebounceFn as s}from"@vueuse/core";import{cloneDeep as p,isString as v}from"lodash-es";import{NSelect as d,NSpin as m,NEmpty as f,NTooltip as c,NIcon as y,NTag as g}from"naive-ui";import"../../../index.js";import{InjectionChangeContextCollector as h}from"../../constants/index.js";import{useCommonInjection as C,useSelectOptionProps as b}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as j,assignClearBindVisited as F,createVisitedSetter as w}from"../../utils/schema.js";import{useFormField as x}from"../../hooks/useFormField.js";import{useUrlConfigOptions as B,useAutographOptions as K}from"../../hooks/useFormRenderOptions.js";const S=n(e({name:"FormRemoteSearch",props:{value:{type:String},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},allowCreate:Boolean,labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},showField:{type:String},urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},onChange:{},useLoading:{type:Boolean,default:!0},lazyRequest:{type:Boolean,default:!0},multiple:Boolean,deletable:Boolean},emits:["update:value"],setup(e,{slots:n,emit:u}){const j=i(e,"value",u),{field:F,fieldKey:S}=x(),{injectValueValidate:k,injectValueBindKey:O}=C();k(j);const D=O(j),R={onRequestConfigChange:({fetchData:e,valueKey:l})=>e(j.value,{[l]:j.value}),onDepsChange:({fetchData:e,valueKey:l})=>e(j.value,{[l]:j.value})},{labelKey:q,valueKey:L,showKey:P,fetchData:V,searchContent:I,fullOptions:U,loading:z}=e.urlConfig?B(e,j,R):K(e,j,R),A=s(((e="",l="label")=>V(e,{["value"===l?L.value:"keyword"]:e})),300);l(j,(e=>{if(e&&!U.value.find((l=>l[L.value]===e)))return A(e,"value")}));o(h).setContext(S.value,(e=>{return{currentOption:p((l=e,U.value.find((e=>e[L.value]===l))))};var l}));const{menuProps:T,nodeProps:$}=b(),E=a((()=>U.value.length||!e.allowCreate?U.value:I.value?[{[q.value]:I.value,[L.value]:I.value},...U.value]:U.value));async function G(e){z.value=e,e&&A()}function H(e){const l=e.alias||e[q.value];if(!l||!v(l))return"";const o=l;return e.desc?t("section",{style:{display:"flex",alignItems:"center",gap:"4px"}},[o,e.desc?t(c,null,{trigger:()=>t(y,{component:r},null),default:()=>e.desc}):null]):o}function J({option:l,handleClose:o}){var a;const n=null!=(a=P.value&&l[P.value])?a:l[q.value];if(!e.multiple)return n;return e.deletable?t(g,{closable:!0,onClose:function(e){e.stopPropagation(),o()}},{default:()=>n}):`${n};`}return()=>t(d,{remote:!0,filterable:!0,key:D.value,value:j.value,"onUpdate:value":e=>j.value=e,labelField:q.value,valueField:L.value,"menu-props":T,"node-props":$,onSearch:A,"onUpdate:show":G,options:E.value,onFocus:w(F),renderLabel:H,renderTag:J},{empty:()=>e.useLoading&&z.value?t(m,null,null):t(f,{description:"无数据"},null),...n})}}),u(j,F));export{S as REMOTE_SEARCH};
@@ -2,6 +2,11 @@ import { AnyObject, Func } from '../../../../../es/shared/types';
2
2
  import { Ref } from 'vue';
3
3
  import { FormWordbook, RecommendIds, UrlConfig } from '../../../../../es/components/form-render';
4
4
  import { RecommendItem } from '../../../../../es/components/recommend-search/src/types';
5
+ declare type UseOptionHooks = Partial<Record<'onRequestConfigChange' | 'onDepsChange', (payload: {
6
+ fetchData: (content?: string | null, otherParams?: AnyObject) => any;
7
+ labelKey: string;
8
+ valueKey: string;
9
+ }) => any>>;
5
10
  export declare const searchContentMatcher: (searchContent: string, label: string) => RegExpMatchArray | null;
6
11
  export declare function useRecommendOptions(props: {
7
12
  recommend: boolean;
@@ -16,15 +21,15 @@ export declare function useRecommendOptions(props: {
16
21
  getRecommend: (content?: string) => Promise<void>;
17
22
  sortedOptions: import("vue").ComputedRef<AnyObject[]>;
18
23
  };
19
- export declare function useUrlConfigOptions(props: {
20
- labelField?: string;
21
- valueField?: string;
22
- showField?: string;
23
- urlConfig?: UrlConfig;
24
- options?: AnyObject[];
24
+ export declare function useUrlConfigOptions(props: Partial<{
25
+ labelField: string;
26
+ valueField: string;
27
+ showField: string;
28
+ urlConfig: UrlConfig;
29
+ options: AnyObject[];
25
30
  requestCache: boolean;
26
31
  lazyRequest: boolean;
27
- }, valueRef: Ref): {
32
+ }>, valueRef: Ref, hooks?: UseOptionHooks): {
28
33
  labelKey: import("vue").ComputedRef<string>;
29
34
  loading: Ref<boolean>;
30
35
  showKey: import("vue").ComputedRef<string | undefined>;
@@ -32,7 +37,7 @@ export declare function useUrlConfigOptions(props: {
32
37
  remoteOptions: Ref<AnyObject[] | null>;
33
38
  filterOptions: import("vue").ComputedRef<AnyObject[]>;
34
39
  fullOptions: import("vue").ComputedRef<AnyObject[]>;
35
- fetchData: (content?: string) => Promise<null | undefined>;
40
+ fetchData: (content?: string | null, otherParams?: AnyObject) => Promise<null | undefined>;
36
41
  searchContent: Ref<string | undefined>;
37
42
  };
38
43
  export declare function useAutographOptions(props: Partial<{
@@ -44,7 +49,7 @@ export declare function useAutographOptions(props: Partial<{
44
49
  autograph: string;
45
50
  lazyRequest: boolean;
46
51
  options: AnyObject[];
47
- }>, valueRef: Ref): {
52
+ }>, valueRef: Ref, hooks?: UseOptionHooks): {
48
53
  labelKey: import("vue").ComputedRef<string>;
49
54
  showKey: import("vue").ComputedRef<string | undefined>;
50
55
  loading: Ref<boolean>;
@@ -52,6 +57,7 @@ export declare function useAutographOptions(props: Partial<{
52
57
  valueKey: import("vue").ComputedRef<string>;
53
58
  filterOptions: import("vue").ComputedRef<AnyObject[]>;
54
59
  fullOptions: import("vue").ComputedRef<AnyObject[]>;
55
- fetchData: (content?: string) => Promise<null | undefined>;
60
+ fetchData: (content?: string | null, otherParams?: AnyObject) => Promise<null | undefined>;
56
61
  searchContent: Ref<string | undefined>;
57
62
  };
63
+ export {};
@@ -1 +1 @@
1
- import{checkInSetupEnv as e,arrayed as l,jsonParse as n,keywordMatcher as u}from"../../../../shared/utils/index.js";import{useForm as t}from"@formily/vue";import{useMemoize as a}from"@vueuse/core";import{identity as o,uniqBy as r,isEqual as i,isString as v,omit as c,isArray as s,isFunction as m}from"lodash-es";import{computed as d,inject as f,ref as y,watch as p,toRaw as h}from"vue";import"../../index.js";import{InjectionAsyncQueue as g,InjectionFormLifeCycleCaller as w,InjectionFormItemDepsCollector as K}from"../constants/index.js";import{useFormField as k}from"./useFormField.js";import{createUrlConfigParams as b,formRenderLog as C}from"../utils/index.js";import{useFormRequest as F}from"./useFormRequest.js";function R(e,l){const n=y();return d({get:()=>n.value?n.value:e[l],set(e){n.value=e}})}const O=(()=>{const e=a((e=>new RegExp(`(.*)${e.split("").map((e=>`(${function(e){return e.match(/[()\[\]{}$^\/]/)?"\\"+e:e}(e)})`)).join("(.*)")}(.*)`)),{getKey:o});return(l,n)=>n.match(e(l))})();function q(){const e=y();return{searchContent:e,optionSearchFilter:function(l,n,t){if(!e.value)return l;const a=s(t)?t.filter((e=>e&&v(e))):[];return l.filter((l=>function(l,n,t){if(!e.value)return!0;const a=l?l[n]:"";return!!v(a)&&(!!O(e.value,a)||!!u(e.value,l.keyword)||!!t.length&&t.some((n=>v(l[n])&&l[n].includes(e.value))))}(l,n,a)))}}}function j(e,l,u,t,a){const o=R(e,"commonList"),i=R(e,"recentList"),{searchContent:v,optionSearchFilter:s}=q();function y(e){return n(e.itemObj)}const p=d((()=>{var e,l;return null!=(l=null==(e=o.value)?void 0:e.map(y))?l:[]})),h=d((()=>{var e,l;return null!=(l=null==(e=i.value)?void 0:e.map(y))?l:[]})),w=d((()=>{if(!e.recommend||!p.value.length&&!h.value.length)return l.value;const n=r(p.value.concat(h.value),(e=>e[a.value])),u=l.value.filter((e=>n.every((function(l){return l[a.value]!==e[a.value]}))));return[...s(n,t.value),...u]})),{getRecommendRequestInfo:K,getHttpInstance:b}=F();function C(l){const{url:n,getRecommendIds:u}=K(),t=m(u)?u():{},a=m(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:n[l],info:Object.assign({},t,a)}}const{fieldKey:O,field:j}=k(),I=f(g);return{postRecommend:async function(l){if(!e.recommend)return;const n=b();if(!n)return;const{url:t,info:o}=C("post"),r=w.value.find((e=>e[a.value]===l));r&&u("postRecommend",await n.post(t,{...o,keyword:"",itemId:a.value,itemObj:JSON.stringify(r)}))},getRecommend:async function(l){if(!e.recommend)return;if(v.value=l,o.value&&i.value&&e.recommendCache)return;const n=await I.addAsync(function(l,n){const{url:u,info:o}=C("get");return{url:u,method:"get",key:l,cache:n,params:{...o,recNum:Math.max(e.commonNum,e.recentNum),keyword:""},payload:{field:j.value,labelKey:t.value,valueKey:a.value}}}(O.value,e.recommendCache)),{commonly:u,recently:r}=n.reduce(((e,l)=>("commonly"===l.type?e.commonly.push(c(l,["type"])):"recently"===l.type&&e.recently.push(c(l,["type"])),e)),{commonly:[],recently:[]});o.value=u.slice(0,e.commonNum),i.value=r.slice(0,e.recentNum)},sortedOptions:w}}function I(l,n){e();const u=f(g),t=f(w),a=d((()=>{var e,n,u;return null!=(u=null!=(n=null==(e=l.urlConfig)?void 0:e.nameKey)?n:l.labelField)?u:"text"})),o=d((()=>{var e,n,u;return null!=(u=null!=(n=null==(e=l.urlConfig)?void 0:e.valueKey)?n:l.valueField)?u:"value"})),r=d((()=>{var e,n;return null!=(n=null==(e=l.urlConfig)?void 0:e.showKey)?n:l.showField})),{searchContent:c,optionSearchFilter:s}=q(),m=y(null),{field:F,fieldKey:R}=k(),O=y(!1),j=async function(e){if(c.value=e||"",!l.urlConfig)return m.value=null;try{O.value=!0;const e={field:F.value,labelKey:a.value,valueKey:o.value},n=await u.addAsync(await b({config:{...l.urlConfig,payload:e},cache:l.requestCache,field:F.value}));h(m.value)!==n&&(m.value=n,t("afterOptionInit",[R.value,m.value,e]))}catch(e){v(e)&&C(e)}finally{O.value=!1}},I=d((()=>m.value?s(m.value,a.value):Array.isArray(l.options)?s(l.options,a.value):[])),x=d((()=>m.value||l.options||[])),A=f(K);return p((()=>l.urlConfig),((e,u)=>{if(!i(e,u)){if(m.value=null,!e)return m.value=null;A.setDeps(R.value,e.dependKey||[],(async()=>{m.value=null,n.value=null,!l.lazyRequest&&await j()})),(n.value||!l.lazyRequest)&&j()}}),{immediate:!0}),{labelKey:a,loading:O,showKey:r,valueKey:o,remoteOptions:m,filterOptions:I,fullOptions:x,fetchData:j,searchContent:c}}function x(n,u){e();const a=f(g),o=f(w),r=t(),c=d((()=>{var e;const u=l(null==(e=n.wordbook)?void 0:e.show_key)[0];return v(u)?u:null})),s=d((()=>{var e,l,u,t;const a=null==(l=null==(e=n.wordbook)?void 0:e.render_key)?void 0:l[0];return v(a)?a:null!=(t=null!=(u=c.value)?u:n.labelField)?t:"text"})),m=d((()=>{var e,l,u;return null!=(u=null!=(l=null==(e=n.wordbook)?void 0:e.value_key)?l:n.valueField)?u:"value"})),b=d((()=>{var e;return(null==(e=n.wordbook)?void 0:e.search_key)||[]})),R=d((()=>{var e;return null!=(e=c.value)?e:n.showField})),{searchContent:O,optionSearchFilter:j}=q(),I=y(null),{fieldKey:x,field:A}=k(),{getSearchRequestInfo:S}=F(),N=y(!1),_=async function(e){if(O.value=e||"",!n.autograph||!n.wordbook)return I.value=null;try{N.value=!0;const e={field:A.value,labelKey:s.value,valueKey:m.value},l=await a.addAsync(function(e,l,u,t){var a,o,i;const v={autograph:l,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1};if(null==(a=e.queryParams)?void 0:a.length){const l=null!=(i=null==(o=r.value)?void 0:o.getFormState().values)?i:{};e.queryParams.forEach((e=>{v[e]=l[e]}))}return{...S(),params:v,key:u,cache:n.requestCache,payload:t}}(n.wordbook,n.autograph,x.value,e));h(I.value)!==l&&(I.value=l,o("afterOptionInit",[x.value,I.value,e]))}catch(e){v(e)&&C(e)}finally{N.value=!1}},D=d((()=>I.value?j(I.value,s.value,b.value):Array.isArray(n.options)?j(n.options,s.value):[])),z=d((()=>I.value||n.options||[])),P=f(K);return p((()=>n.wordbook),((e,l)=>{if(!i(e,l)){if(I.value=null,!e)return I.value=null;P.setDeps(x.value,e.queryParams||[],(async()=>{I.value=null,_()})),(u.value||!n.lazyRequest)&&_()}}),{immediate:!0}),{labelKey:s,showKey:R,loading:N,remoteOptions:I,valueKey:m,filterOptions:D,fullOptions:z,fetchData:_,searchContent:O}}export{O as searchContentMatcher,x as useAutographOptions,j as useRecommendOptions,I as useUrlConfigOptions};
1
+ import{checkInSetupEnv as e,arrayed as l,jsonParse as n,keywordMatcher as u}from"../../../../shared/utils/index.js";import{useForm as t}from"@formily/vue";import{useMemoize as a}from"@vueuse/core";import{identity as o,uniqBy as r,isEqual as i,isString as v,omit as s,isArray as c,isFunction as m}from"lodash-es";import{computed as f,inject as d,ref as y,watch as p,toRaw as h}from"vue";import"../../index.js";import{InjectionAsyncQueue as g,InjectionFormLifeCycleCaller as w,InjectionFormItemDepsCollector as K}from"../constants/index.js";import{createUrlConfigParams as C,formRenderLog as b}from"../utils/index.js";import{useFormField as k}from"./useFormField.js";import{useFormRequest as R}from"./useFormRequest.js";function F(e,l){const n=y();return f({get:()=>n.value?n.value:e[l],set(e){n.value=e}})}const q=(()=>{const e=a((e=>new RegExp(`(.*)${e.split("").map((e=>`(${function(e){return e.match(/[()\[\]{}$^\/]/)?"\\"+e:e}(e)})`)).join("(.*)")}(.*)`)),{getKey:o});return(l,n)=>n.match(e(l))})();function O(){const e=y();return{searchContent:e,optionSearchFilter:function(l,n,t){if(!e.value)return l;const a=c(t)?t.filter((e=>e&&v(e))):[];return l.filter((l=>function(l,n,t){if(!e.value)return!0;const a=l?l[n]:"";return!!v(a)&&(!!q(e.value,a)||!!u(e.value,l.keyword)||!!t.length&&t.some((n=>v(l[n])&&l[n].includes(e.value))))}(l,n,a)))}}}function j(e,l,u,t,a){const o=F(e,"commonList"),i=F(e,"recentList"),{searchContent:v,optionSearchFilter:c}=O();function y(e){return n(e.itemObj)}const p=f((()=>{var e,l;return null!=(l=null==(e=o.value)?void 0:e.map(y))?l:[]})),h=f((()=>{var e,l;return null!=(l=null==(e=i.value)?void 0:e.map(y))?l:[]})),w=f((()=>{if(!e.recommend||!p.value.length&&!h.value.length)return l.value;const n=r(p.value.concat(h.value),(e=>e[a.value])),u=l.value.filter((e=>n.every((function(l){return l[a.value]!==e[a.value]}))));return[...c(n,t.value),...u]})),{getRecommendRequestInfo:K,getHttpInstance:C}=R();function b(l){const{url:n,getRecommendIds:u}=K(),t=m(u)?u():{},a=m(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:n[l],info:Object.assign({},t,a)}}const{fieldKey:q,field:j}=k(),I=d(g);return{postRecommend:async function(l){if(!e.recommend)return;const n=C();if(!n)return;const{url:t,info:o}=b("post"),r=w.value.find((e=>e[a.value]===l));r&&u("postRecommend",await n.post(t,{...o,keyword:"",itemId:a.value,itemObj:JSON.stringify(r)}))},getRecommend:async function(l){if(!e.recommend)return;if(v.value=l,o.value&&i.value&&e.recommendCache)return;const n=await I.addAsync(function(l,n){const{url:u,info:o}=b("get");return{url:u,method:"get",key:l,cache:n,params:{...o,recNum:Math.max(e.commonNum,e.recentNum),keyword:""},payload:{field:j.value,labelKey:t.value,valueKey:a.value}}}(q.value,e.recommendCache)),{commonly:u,recently:r}=n.reduce(((e,l)=>("commonly"===l.type?e.commonly.push(s(l,["type"])):"recently"===l.type&&e.recently.push(s(l,["type"])),e)),{commonly:[],recently:[]});o.value=u.slice(0,e.commonNum),i.value=r.slice(0,e.recentNum)},sortedOptions:w}}function I(l,n,u){e();const t=d(g),a=d(w),o=f((()=>{var e,n,u;return null!=(u=null!=(n=null==(e=l.urlConfig)?void 0:e.nameKey)?n:l.labelField)?u:"text"})),r=f((()=>{var e,n,u;return null!=(u=null!=(n=null==(e=l.urlConfig)?void 0:e.valueKey)?n:l.valueField)?u:"value"})),s=f((()=>{var e,n;return null!=(n=null==(e=l.urlConfig)?void 0:e.showKey)?n:l.showField})),{searchContent:c,optionSearchFilter:m}=O(),R=y(null),{field:F,fieldKey:q}=k(),j=y(!1),I=async function(e,n){if(c.value=e||"",!l.urlConfig)return R.value=null;try{j.value=!0;const e={field:F.value,labelKey:o.value,valueKey:r.value},u=await t.addAsync(await C({config:{...l.urlConfig,payload:e,params:{...l.urlConfig.params,...n}},cache:l.requestCache,field:F.value}));h(R.value)!==u&&(R.value=u,a("afterOptionInit",[q.value,R.value,e]))}catch(e){v(e)&&b(e)}finally{j.value=!1}},x=f((()=>R.value?m(R.value,o.value):Array.isArray(l.options)?m(l.options,o.value):[])),D=f((()=>R.value||l.options||[])),A=d(K);return p((()=>l.urlConfig),((e,t)=>{if(i(e,t))return;if(R.value=null,!e)return R.value=null;const a={fetchData:I,labelKey:o.value,valueKey:r.value},{onRequestConfigChange:v,onDepsChange:s}=u||{};A.setDeps(q.value,e.dependKey||[],(async()=>{R.value=null,n.value=null,l.lazyRequest||(s?s(a):I())})),!n.value&&l.lazyRequest||(v?v(a):I())}),{immediate:!0}),{labelKey:o,loading:j,showKey:s,valueKey:r,remoteOptions:R,filterOptions:x,fullOptions:D,fetchData:I,searchContent:c}}function x(n,u,a){e();const o=d(g),r=d(w),s=t(),c=f((()=>{var e;const u=l(null==(e=n.wordbook)?void 0:e.show_key)[0];return v(u)?u:null})),m=f((()=>{var e,l,u,t;const a=null==(l=null==(e=n.wordbook)?void 0:e.render_key)?void 0:l[0];return v(a)?a:null!=(t=null!=(u=c.value)?u:n.labelField)?t:"text"})),C=f((()=>{var e,l,u;return null!=(u=null!=(l=null==(e=n.wordbook)?void 0:e.value_key)?l:n.valueField)?u:"value"})),F=f((()=>{var e;return(null==(e=n.wordbook)?void 0:e.search_key)||[]})),q=f((()=>{var e;return null!=(e=c.value)?e:n.showField})),{searchContent:j,optionSearchFilter:I}=O(),x=y(null),{fieldKey:D,field:A}=k(),{getSearchRequestInfo:S}=R(),N=y(!1),_=async function(e,l){if(j.value=e||"",!n.autograph||!n.wordbook)return x.value=null;try{N.value=!0;const e={field:A.value,labelKey:m.value,valueKey:C.value},u=await o.addAsync(function(e,l,u,t,a){var o,r,i;const v={autograph:l,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1,...a};if(null==(o=e.queryParams)?void 0:o.length){const l=null!=(i=null==(r=s.value)?void 0:r.getFormState().values)?i:{};e.queryParams.forEach((e=>{v[e]=l[e]}))}return{...S(),params:v,key:u,cache:n.requestCache,payload:t}}(n.wordbook,n.autograph,D.value,e,l));h(x.value)!==u&&(x.value=u,r("afterOptionInit",[D.value,x.value,e]))}catch(e){v(e)&&b(e)}finally{N.value=!1}},z=f((()=>x.value?I(x.value,m.value,F.value):Array.isArray(n.options)?I(n.options,m.value):[])),P=f((()=>x.value||n.options||[])),$=d(K);return p((()=>n.wordbook),((e,l)=>{if(i(e,l))return;if(x.value=null,!e)return x.value=null;const t={fetchData:_,labelKey:m.value,valueKey:C.value},{onRequestConfigChange:o,onDepsChange:r}=a||{};$.setDeps(D.value,e.queryParams||[],(async()=>{x.value=null,r?r(t):_()})),!u.value&&n.lazyRequest||(o?o(t):_())}),{immediate:!0}),{labelKey:m,showKey:q,loading:N,remoteOptions:x,valueKey:C,filterOptions:z,fullOptions:P,fetchData:_,searchContent:j}}export{q as searchContentMatcher,x as useAutographOptions,j as useRecommendOptions,I as useUrlConfigOptions};