cnhis-design-vue 3.1.42-beta.24 → 3.1.42-beta.26

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 (26) hide show
  1. package/README.md +87 -87
  2. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  3. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  4. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  5. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  6. package/es/components/fabric-chart/src/utils/index.d.ts +6823 -0
  7. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  8. package/es/components/recommend-search/index.d.ts +5 -121
  9. package/es/components/recommend-search/src/RecommendSearch.vue.d.ts +8 -124
  10. package/es/components/recommend-search/src/RecommendSearch.vue.js +1 -1
  11. package/es/components/recommend-search/src/components/BaseSearch.d.ts +84 -0
  12. package/es/components/recommend-search/src/components/BaseSearch.js +1 -0
  13. package/es/components/recommend-search/src/components/RecommendInput.vue.d.ts +2 -60
  14. package/es/components/recommend-search/src/components/RecommendInput.vue.js +1 -1
  15. package/es/components/recommend-search/src/components/RecommendSelect.vue.d.ts +4 -62
  16. package/es/components/recommend-search/src/components/RecommendSelect.vue.js +1 -1
  17. package/es/components/recommend-search/src/constant/index.d.ts +2 -0
  18. package/es/components/recommend-search/src/constant/index.js +1 -1
  19. package/es/components/scale-view/src/ScaleView.vue.js +1 -1
  20. package/es/components/select-label/src/LabelFormContent.vue.js +1 -1
  21. package/es/env.d.ts +24 -24
  22. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  23. package/es/shared/utils/tapable/index.d.ts +139 -0
  24. package/package.json +2 -2
  25. package/es/components/recommend-search/src/components/BaseSearch.vue.d.ts +0 -143
  26. package/es/components/recommend-search/src/components/BaseSearch.vue.js +0 -1
@@ -1 +1 @@
1
- import{checkInSetupEnv as e,jsonParse as n}from"../../../../shared/utils/index.js";import{useMemoize as t,useDebounceFn as o}from"@vueuse/core";import{identity as r,isString as u,isEqual as l,omit as a,isFunction as i}from"lodash-es";import{computed as c,inject as s,ref as v,watch as m}from"vue";import"../../index.js";import{InjectionAsyncQueue as d,InjectionFormItemDepsCollector as f}from"../constants/index.js";import{createUrlConfigParams as y,formRenderLog as p,keywordMatcher as h}from"../utils/index.js";import{useFormField as g}from"./useFormField.js";import{useFormRequest as w}from"./useFormRequest.js";function k(e,n){const t=v();return c({get:()=>t.value?t.value:e[n],set(e){t.value=e}})}const R=(()=>{const e=new Map,n=t((e=>new RegExp(`(.*)${e.split("").map((e=>`(${e})`)).join("(.*)")}(.*)`)),{getKey:r});return(t,o)=>{const r=e.get(t)||{};return e.set(t,r),Reflect.has(r,o)?r[o]:r[o]=o.match(n(t))}})();function C(){const e=v();return{searchContent:e,optionSearchFilter:function(n,t){return e.value?n.filter((n=>function(n,t){if(!e.value)return!0;const o=n?n[t]:"";return!!u(o)&&(!!R(e.value,o)||h(e.value,n.keyword))}(n,t))):n}}}function b(e,t,o,r,u){const l=k(e,"commonList"),v=k(e,"recentList"),{searchContent:m,optionSearchFilter:f}=C();function y(e){return n(e.itemObj)}const p=c((()=>{var e,n;return null!=(n=null==(e=l.value)?void 0:e.map(y))?n:[]})),h=c((()=>{var e,n;return null!=(n=null==(e=v.value)?void 0:e.map(y))?n:[]})),R=c((()=>{if(!e.recommend||!p.value.length&&!h.value.length)return t.value;const n=t.value.filter((e=>{return p.value.every(n)&&h.value.every(n);function n(n){return n[u.value]!==e[u.value]}}));return[...f(p.value,r.value),...f(h.value,r.value),...n]})),{getRecommendRequestInfo:b,getHttpInstance:K}=w();function j(n){const{url:t,getRecommendIds:o}=b(),r=i(o)?o():{},u=i(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:t[n],info:Object.assign({},r,u)}}const{fieldKey:O}=g(),q=s(d);return{postRecommend:async function(n){if(!e.recommend)return;const t=K();if(!t)return;const{url:r,info:l}=j("post"),a=R.value.find((e=>e[u.value]===n));a&&o("postRecommend",await t.post(r,{...l,keyword:"",itemId:u.value,itemObj:JSON.stringify(a)}))},getRecommend:async function(n){if(!e.recommend)return;if(m.value=n,l.value&&v.value&&e.recommendCache)return;const t=await q.addAsync(function(n,t){const{url:o,info:r}=j("get");return{url:o,method:"get",key:n,cache:t,params:{...r,recNum:e.recommendNum,keyword:""}}}(O.value,e.recommendCache)),{commonly:o,recently:r}=t.reduce(((e,n)=>("commonly"===n.type?e.commonly.push(a(n,["type"])):"recently"===n.type&&e.recently.push(a(n,["type"])),e)),{commonly:[],recently:[]});l.value=o,v.value=r},sortedOptions:R}}function K(n,t){e();const r=s(d),a=c((()=>{var e,t;return null!=(t=null==(e=n.urlConfig)?void 0:e.nameKey)?t:"text"})),i=c((()=>{var e,t;return null!=(t=null==(e=n.urlConfig)?void 0:e.valueKey)?t:"value"})),{searchContent:h,optionSearchFilter:w}=C(),k=v(null),{field:R,fieldKey:b}=g(),K=o((async function(e){if(h.value=e||"",!n.urlConfig)return k.value=null;try{k.value=await r.addAsync(await y({config:n.urlConfig,cache:n.requestCache,field:R.value}))}catch(e){u(e)&&p(e)}}),300),j=c((()=>k.value?w(k.value,a.value):Array.isArray(n.options)?w(n.options,a.value):[])),O=c((()=>k.value||n.options||[])),q=s(f);return m((()=>n.urlConfig),((e,o)=>{l(e,o)||(k.value=null,e&&(q.setDeps(b.value,e.dependKey||[],(async()=>{k.value=null,t.value=null,!n.lazyRequest&&await K()})),(t.value||!n.lazyRequest)&&K()))}),{immediate:!0}),{labelKey:a,valueKey:i,filterOptions:j,fullOptions:O,fetchData:K}}function j(n,t){e();const r=s(d),a=c((()=>{var e,t,o;return null!=(o=null==(t=null==(e=n.wordbook)?void 0:e.render_key)?void 0:t[0])?o:"text"})),i=c((()=>{var e,t;return null!=(t=null==(e=n.wordbook)?void 0:e.value_key)?t:"value"})),{searchContent:f,optionSearchFilter:y}=C(),h=v(null),{fieldKey:k}=g(),{getSearchRequestInfo:R}=w(),b=o((async function(e){if(f.value=e||"",!n.autograph||!n.wordbook)return h.value=null;try{h.value=await r.addAsync(function(e,t,o){const r={autograph:t,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1};return{...R(),params:r,key:o,cache:n.requestCache}}(n.wordbook,n.autograph,k.value))}catch(e){u(e)&&p(e)}}),300),K=c((()=>h.value?y(h.value,a.value):Array.isArray(n.options)?y(n.options,a.value):[])),j=c((()=>h.value||n.options||[]));return m((()=>n.wordbook),((e,o)=>{l(e,o)||(h.value=null,e&&(t.value||!n.lazyRequest)&&b())}),{immediate:!0}),{labelKey:a,valueKey:i,filterOptions:K,fullOptions:j,fetchData:b}}export{R as searchContentMatcher,j as useAutographOptions,b as useRecommendOptions,K as useUrlConfigOptions};
1
+ import{checkInSetupEnv as e,jsonParse as n}from"../../../../shared/utils/index.js";import{useMemoize as t,useDebounceFn as o}from"@vueuse/core";import{identity as r,uniqBy as u,isString as l,isEqual as a,omit as i,isFunction as c}from"lodash-es";import{computed as s,inject as v,ref as m,watch as d}from"vue";import"../../index.js";import{InjectionAsyncQueue as f,InjectionFormItemDepsCollector as y}from"../constants/index.js";import{createUrlConfigParams as p,formRenderLog as h,keywordMatcher as g}from"../utils/index.js";import{useFormField as w}from"./useFormField.js";import{useFormRequest as k}from"./useFormRequest.js";function R(e,n){const t=m();return s({get:()=>t.value?t.value:e[n],set(e){t.value=e}})}const C=(()=>{const e=new Map,n=t((e=>new RegExp(`(.*)${e.split("").map((e=>`(${e})`)).join("(.*)")}(.*)`)),{getKey:r});return(t,o)=>{const r=e.get(t)||{};return e.set(t,r),Reflect.has(r,o)?r[o]:r[o]=o.match(n(t))}})();function b(){const e=m();return{searchContent:e,optionSearchFilter:function(n,t){return e.value?n.filter((n=>function(n,t){if(!e.value)return!0;const o=n?n[t]:"";return!!l(o)&&(!!C(e.value,o)||g(e.value,n.keyword))}(n,t))):n}}}function K(e,t,o,r,l){const a=R(e,"commonList"),m=R(e,"recentList"),{searchContent:d,optionSearchFilter:y}=b();function p(e){return n(e.itemObj)}const h=s((()=>{var e,n;return null!=(n=null==(e=a.value)?void 0:e.map(p))?n:[]})),g=s((()=>{var e,n;return null!=(n=null==(e=m.value)?void 0:e.map(p))?n:[]})),C=s((()=>{if(!e.recommend||!h.value.length&&!g.value.length)return t.value;const n=u(h.value.concat(g.value),(e=>e[l.value])),o=t.value.filter((e=>n.every((function(n){return n[l.value]!==e[l.value]}))));return[...y(n,r.value),...o]})),{getRecommendRequestInfo:K,getHttpInstance:j}=k();function O(n){const{url:t,getRecommendIds:o}=K(),r=c(o)?o():{},u=c(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:t[n],info:Object.assign({},r,u)}}const{fieldKey:q}=w(),x=v(f);return{postRecommend:async function(n){if(!e.recommend)return;const t=j();if(!t)return;const{url:r,info:u}=O("post"),a=C.value.find((e=>e[l.value]===n));a&&o("postRecommend",await t.post(r,{...u,keyword:"",itemId:l.value,itemObj:JSON.stringify(a)}))},getRecommend:async function(n){if(!e.recommend)return;if(d.value=n,a.value&&m.value&&e.recommendCache)return;const t=await x.addAsync(function(n,t){const{url:o,info:r}=O("get");return{url:o,method:"get",key:n,cache:t,params:{...r,recNum:e.recommendNum,keyword:""}}}(q.value,e.recommendCache)),{commonly:o,recently:r}=t.reduce(((e,n)=>("commonly"===n.type?e.commonly.push(i(n,["type"])):"recently"===n.type&&e.recently.push(i(n,["type"])),e)),{commonly:[],recently:[]});a.value=o,m.value=r},sortedOptions:C}}function j(n,t){e();const r=v(f),u=s((()=>{var e,t;return null!=(t=null==(e=n.urlConfig)?void 0:e.nameKey)?t:"text"})),i=s((()=>{var e,t;return null!=(t=null==(e=n.urlConfig)?void 0:e.valueKey)?t:"value"})),{searchContent:c,optionSearchFilter:g}=b(),k=m(null),{field:R,fieldKey:C}=w(),K=o((async function(e){if(c.value=e||"",!n.urlConfig)return k.value=null;try{k.value=await r.addAsync(await p({config:n.urlConfig,cache:n.requestCache,field:R.value}))}catch(e){l(e)&&h(e)}}),300),j=s((()=>k.value?g(k.value,u.value):Array.isArray(n.options)?g(n.options,u.value):[])),O=s((()=>k.value||n.options||[])),q=v(y);return d((()=>n.urlConfig),((e,o)=>{a(e,o)||(k.value=null,e&&(q.setDeps(C.value,e.dependKey||[],(async()=>{k.value=null,t.value=null,!n.lazyRequest&&await K()})),(t.value||!n.lazyRequest)&&K()))}),{immediate:!0}),{labelKey:u,valueKey:i,filterOptions:j,fullOptions:O,fetchData:K}}function O(n,t){e();const r=v(f),u=s((()=>{var e,t,o;return null!=(o=null==(t=null==(e=n.wordbook)?void 0:e.render_key)?void 0:t[0])?o:"text"})),i=s((()=>{var e,t;return null!=(t=null==(e=n.wordbook)?void 0:e.value_key)?t:"value"})),{searchContent:c,optionSearchFilter:y}=b(),p=m(null),{fieldKey:g}=w(),{getSearchRequestInfo:R}=k(),C=o((async function(e){if(c.value=e||"",!n.autograph||!n.wordbook)return p.value=null;try{p.value=await r.addAsync(function(e,t,o){const r={autograph:t,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1};return{...R(),params:r,key:o,cache:n.requestCache}}(n.wordbook,n.autograph,g.value))}catch(e){l(e)&&h(e)}}),300),K=s((()=>p.value?y(p.value,u.value):Array.isArray(n.options)?y(n.options,u.value):[])),j=s((()=>p.value||n.options||[]));return d((()=>n.wordbook),((e,o)=>{a(e,o)||(p.value=null,e&&(t.value||!n.lazyRequest)&&C())}),{immediate:!0}),{labelKey:u,valueKey:i,filterOptions:K,fullOptions:j,fetchData:C}}export{C as searchContentMatcher,O as useAutographOptions,K as useRecommendOptions,j as useUrlConfigOptions};
@@ -295,66 +295,7 @@ declare const RecommendSearch: SFCWithInstall<import("vue").DefineComponent<{
295
295
  type: BooleanConstructor;
296
296
  default: boolean;
297
297
  };
298
- }, {
299
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
300
- displayValue: {
301
- type: StringConstructor;
302
- };
303
- valueFormatter: {
304
- type: import("vue").PropType<(value: string | number | any[] | undefined) => string>;
305
- };
306
- show: {
307
- type: BooleanConstructor;
308
- };
309
- loading: {
310
- type: BooleanConstructor;
311
- };
312
- placeholder: {
313
- type: StringConstructor;
314
- default: string;
315
- };
316
- clearable: {
317
- type: BooleanConstructor;
318
- default: boolean;
319
- };
320
- inputProps: {
321
- type: ObjectConstructor;
322
- default: () => {};
323
- };
324
- popProps: {
325
- type: ObjectConstructor;
326
- default: () => {};
327
- };
328
- clearPatternOnOpenMenu: {
329
- type: BooleanConstructor;
330
- default: boolean;
331
- };
332
- }>> & {
333
- "onUpdate:show"?: ((...args: any[]) => any) | undefined;
334
- onClear?: ((...args: any[]) => any) | undefined;
335
- onSearch?: ((...args: any[]) => any) | undefined;
336
- onOpenMenu?: ((...args: any[]) => any) | undefined;
337
- onCloseMenu?: ((...args: any[]) => any) | undefined;
338
- }>>;
339
- uuid: string;
340
- emits: (event: "clear" | "update:show" | "search" | "openMenu" | "closeMenu", ...args: any[]) => void;
341
- search: (content?: any) => void;
342
- popoverRef: import("vue").Ref<{
343
- syncPosition: import("../../../es/shared/types").Func<any[], any>;
344
- } | undefined>;
345
- _show: import("vue").Ref<boolean>;
346
- show: import("vue").WritableComputedRef<boolean>;
347
- inputRef: import("vue").Ref<HTMLElement | undefined>;
348
- patternContent: import("vue").Ref<string>;
349
- displayValueRef: import("vue").WritableComputedRef<string | undefined>;
350
- openMenuAtInput: (evt: PointerEvent) => void;
351
- openMenu: () => void;
352
- closeMenu: () => void;
353
- onClear: () => void;
354
- NInput: any;
355
- NPopover: any;
356
- NSpin: any;
357
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
298
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "keydown" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "keydown" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
358
299
  displayValue: {
359
300
  type: StringConstructor;
360
301
  };
@@ -388,6 +329,7 @@ declare const RecommendSearch: SFCWithInstall<import("vue").DefineComponent<{
388
329
  default: boolean;
389
330
  };
390
331
  }>> & {
332
+ onKeydown?: ((...args: any[]) => any) | undefined;
391
333
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
392
334
  onClear?: ((...args: any[]) => any) | undefined;
393
335
  onSearch?: ((...args: any[]) => any) | undefined;
@@ -528,7 +470,7 @@ declare const RecommendSearch: SFCWithInstall<import("vue").DefineComponent<{
528
470
  commonOptions: import("vue").ComputedRef<any[]>;
529
471
  recentOptions: import("vue").ComputedRef<any[]>;
530
472
  optionWithoutRecommend: import("vue").ComputedRef<import("../../../es/shared/types").AnyObject[]>;
531
- getDisplayValue: (item: string | number) => string;
473
+ getDisplayValue: (item: import("../../../es/shared/types").Nullable<string | number>) => string;
532
474
  baseSearchRef: import("vue").Ref<import("./src/types").BaseSearchExpose | undefined>;
533
475
  valueRef: import("vue").Ref<string | number | null | undefined> | import("vue").WritableComputedRef<string | number | null | undefined>;
534
476
  parsedOptions: import("vue").ComputedRef<any[]>;
@@ -585,66 +527,7 @@ declare const RecommendSearch: SFCWithInstall<import("vue").DefineComponent<{
585
527
  type: BooleanConstructor;
586
528
  default: boolean;
587
529
  };
588
- }, {
589
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
590
- displayValue: {
591
- type: StringConstructor;
592
- };
593
- valueFormatter: {
594
- type: import("vue").PropType<(value: string | number | any[] | undefined) => string>;
595
- };
596
- show: {
597
- type: BooleanConstructor;
598
- };
599
- loading: {
600
- type: BooleanConstructor;
601
- };
602
- placeholder: {
603
- type: StringConstructor;
604
- default: string;
605
- };
606
- clearable: {
607
- type: BooleanConstructor;
608
- default: boolean;
609
- };
610
- inputProps: {
611
- type: ObjectConstructor;
612
- default: () => {};
613
- };
614
- popProps: {
615
- type: ObjectConstructor;
616
- default: () => {};
617
- };
618
- clearPatternOnOpenMenu: {
619
- type: BooleanConstructor;
620
- default: boolean;
621
- };
622
- }>> & {
623
- "onUpdate:show"?: ((...args: any[]) => any) | undefined;
624
- onClear?: ((...args: any[]) => any) | undefined;
625
- onSearch?: ((...args: any[]) => any) | undefined;
626
- onOpenMenu?: ((...args: any[]) => any) | undefined;
627
- onCloseMenu?: ((...args: any[]) => any) | undefined;
628
- }>>;
629
- uuid: string;
630
- emits: (event: "clear" | "update:show" | "search" | "openMenu" | "closeMenu", ...args: any[]) => void;
631
- search: (content?: any) => void;
632
- popoverRef: import("vue").Ref<{
633
- syncPosition: import("../../../es/shared/types").Func<any[], any>;
634
- } | undefined>;
635
- _show: import("vue").Ref<boolean>;
636
- show: import("vue").WritableComputedRef<boolean>;
637
- inputRef: import("vue").Ref<HTMLElement | undefined>;
638
- patternContent: import("vue").Ref<string>;
639
- displayValueRef: import("vue").WritableComputedRef<string | undefined>;
640
- openMenuAtInput: (evt: PointerEvent) => void;
641
- openMenu: () => void;
642
- closeMenu: () => void;
643
- onClear: () => void;
644
- NInput: any;
645
- NPopover: any;
646
- NSpin: any;
647
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
530
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "keydown" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "keydown" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
648
531
  displayValue: {
649
532
  type: StringConstructor;
650
533
  };
@@ -678,6 +561,7 @@ declare const RecommendSearch: SFCWithInstall<import("vue").DefineComponent<{
678
561
  default: boolean;
679
562
  };
680
563
  }>> & {
564
+ onKeydown?: ((...args: any[]) => any) | undefined;
681
565
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
682
566
  onClear?: ((...args: any[]) => any) | undefined;
683
567
  onSearch?: ((...args: any[]) => any) | undefined;
@@ -187,7 +187,7 @@ declare const _default: import("vue").DefineComponent<{
187
187
  onOpenMenu: () => void;
188
188
  onCloseMenu: () => void;
189
189
  onChoose: ({ type, value }: {
190
- type?: import("./constant").RecommendType | undefined;
190
+ type?: import("../../../../es/components/recommend-search/src/constant").RecommendType | undefined;
191
191
  value: RecommendItem;
192
192
  }) => void;
193
193
  list: import("vue").Ref<import("@vueuse/core").UseVirtualListItem<AnyObject>[]>;
@@ -226,10 +226,10 @@ declare const _default: import("vue").DefineComponent<{
226
226
  };
227
227
  }, {
228
228
  emits: (event: "delete" | "choose", ...args: any[]) => void;
229
- clickTag: (type: import("./constant").RecommendType, value: RecommendItem) => void;
229
+ clickTag: (type: import("../../../../es/components/recommend-search/src/constant").RecommendType, value: RecommendItem) => void;
230
230
  clickCommonTag: (value: RecommendItem) => void;
231
231
  clickRecentTag: (value: RecommendItem) => void;
232
- deleteTag: (type: import("./constant").RecommendType) => void;
232
+ deleteTag: (type: import("../../../../es/components/recommend-search/src/constant").RecommendType) => void;
233
233
  deleteCommonTag: () => void;
234
234
  deleteRecentTag: () => void;
235
235
  TrashOutline: 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<{}>>, {}>;
@@ -297,66 +297,7 @@ declare const _default: import("vue").DefineComponent<{
297
297
  type: BooleanConstructor;
298
298
  default: boolean;
299
299
  };
300
- }, {
301
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
302
- displayValue: {
303
- type: StringConstructor;
304
- };
305
- valueFormatter: {
306
- type: PropType<(value: string | number | any[] | undefined) => string>;
307
- };
308
- show: {
309
- type: BooleanConstructor;
310
- };
311
- loading: {
312
- type: BooleanConstructor;
313
- };
314
- placeholder: {
315
- type: StringConstructor;
316
- default: string;
317
- };
318
- clearable: {
319
- type: BooleanConstructor;
320
- default: boolean;
321
- };
322
- inputProps: {
323
- type: ObjectConstructor;
324
- default: () => {};
325
- };
326
- popProps: {
327
- type: ObjectConstructor;
328
- default: () => {};
329
- };
330
- clearPatternOnOpenMenu: {
331
- type: BooleanConstructor;
332
- default: boolean;
333
- };
334
- }>> & {
335
- "onUpdate:show"?: ((...args: any[]) => any) | undefined;
336
- onClear?: ((...args: any[]) => any) | undefined;
337
- onSearch?: ((...args: any[]) => any) | undefined;
338
- onOpenMenu?: ((...args: any[]) => any) | undefined;
339
- onCloseMenu?: ((...args: any[]) => any) | undefined;
340
- }>>;
341
- uuid: string;
342
- emits: (event: "clear" | "update:show" | "search" | "openMenu" | "closeMenu", ...args: any[]) => void;
343
- search: (content?: any) => void;
344
- popoverRef: import("vue").Ref<{
345
- syncPosition: import("../../../../es/shared/types").Func<any[], any>;
346
- } | undefined>;
347
- _show: import("vue").Ref<boolean>;
348
- show: import("vue").WritableComputedRef<boolean>;
349
- inputRef: import("vue").Ref<HTMLElement | undefined>;
350
- patternContent: import("vue").Ref<string>;
351
- displayValueRef: import("vue").WritableComputedRef<string | undefined>;
352
- openMenuAtInput: (evt: PointerEvent) => void;
353
- openMenu: () => void;
354
- closeMenu: () => void;
355
- onClear: () => void;
356
- NInput: any;
357
- NPopover: any;
358
- NSpin: any;
359
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
300
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "keydown" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "keydown" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
360
301
  displayValue: {
361
302
  type: StringConstructor;
362
303
  };
@@ -390,6 +331,7 @@ declare const _default: import("vue").DefineComponent<{
390
331
  default: boolean;
391
332
  };
392
333
  }>> & {
334
+ onKeydown?: ((...args: any[]) => any) | undefined;
393
335
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
394
336
  onClear?: ((...args: any[]) => any) | undefined;
395
337
  onSearch?: ((...args: any[]) => any) | undefined;
@@ -530,7 +472,7 @@ declare const _default: import("vue").DefineComponent<{
530
472
  commonOptions: import("vue").ComputedRef<any[]>;
531
473
  recentOptions: import("vue").ComputedRef<any[]>;
532
474
  optionWithoutRecommend: import("vue").ComputedRef<AnyObject[]>;
533
- getDisplayValue: (item: string | number) => string;
475
+ getDisplayValue: (item: import("../../../../es/shared/types").Nullable<string | number>) => string;
534
476
  baseSearchRef: import("vue").Ref<import("../../../../es/components/recommend-search/src/types").BaseSearchExpose | undefined>;
535
477
  valueRef: import("vue").Ref<string | number | null | undefined> | import("vue").WritableComputedRef<string | number | null | undefined>;
536
478
  parsedOptions: import("vue").ComputedRef<any[]>;
@@ -587,66 +529,7 @@ declare const _default: import("vue").DefineComponent<{
587
529
  type: BooleanConstructor;
588
530
  default: boolean;
589
531
  };
590
- }, {
591
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
592
- displayValue: {
593
- type: StringConstructor;
594
- };
595
- valueFormatter: {
596
- type: PropType<(value: string | number | any[] | undefined) => string>;
597
- };
598
- show: {
599
- type: BooleanConstructor;
600
- };
601
- loading: {
602
- type: BooleanConstructor;
603
- };
604
- placeholder: {
605
- type: StringConstructor;
606
- default: string;
607
- };
608
- clearable: {
609
- type: BooleanConstructor;
610
- default: boolean;
611
- };
612
- inputProps: {
613
- type: ObjectConstructor;
614
- default: () => {};
615
- };
616
- popProps: {
617
- type: ObjectConstructor;
618
- default: () => {};
619
- };
620
- clearPatternOnOpenMenu: {
621
- type: BooleanConstructor;
622
- default: boolean;
623
- };
624
- }>> & {
625
- "onUpdate:show"?: ((...args: any[]) => any) | undefined;
626
- onClear?: ((...args: any[]) => any) | undefined;
627
- onSearch?: ((...args: any[]) => any) | undefined;
628
- onOpenMenu?: ((...args: any[]) => any) | undefined;
629
- onCloseMenu?: ((...args: any[]) => any) | undefined;
630
- }>>;
631
- uuid: string;
632
- emits: (event: "clear" | "update:show" | "search" | "openMenu" | "closeMenu", ...args: any[]) => void;
633
- search: (content?: any) => void;
634
- popoverRef: import("vue").Ref<{
635
- syncPosition: import("../../../../es/shared/types").Func<any[], any>;
636
- } | undefined>;
637
- _show: import("vue").Ref<boolean>;
638
- show: import("vue").WritableComputedRef<boolean>;
639
- inputRef: import("vue").Ref<HTMLElement | undefined>;
640
- patternContent: import("vue").Ref<string>;
641
- displayValueRef: import("vue").WritableComputedRef<string | undefined>;
642
- openMenuAtInput: (evt: PointerEvent) => void;
643
- openMenu: () => void;
644
- closeMenu: () => void;
645
- onClear: () => void;
646
- NInput: any;
647
- NPopover: any;
648
- NSpin: any;
649
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
532
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "keydown" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "keydown" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
650
533
  displayValue: {
651
534
  type: StringConstructor;
652
535
  };
@@ -680,6 +563,7 @@ declare const _default: import("vue").DefineComponent<{
680
563
  default: boolean;
681
564
  };
682
565
  }>> & {
566
+ onKeydown?: ((...args: any[]) => any) | undefined;
683
567
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
684
568
  onClear?: ((...args: any[]) => any) | undefined;
685
569
  onSearch?: ((...args: any[]) => any) | undefined;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as t,openBlock as o,createBlock as l,resolveDynamicComponent as p,unref as r,mergeProps as n,isRef as a,withCtx as u,renderSlot as m}from"vue";import{useVModel as c}from"@vueuse/core";import i from"./components/RecommendInput.vue.js";import s from"./components/RecommendSelect.vue.js";import d from"../../../_virtual/plugin-vue_export-helper.js";var y=d(e({__name:"RecommendSearch",props:{mode:{type:String,default:"input"},value:{type:[String,Number]},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},placeholder:{type:String},editPlaceholder:{type:String,default:"请输入关键字进行搜索"},clearable:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},commonList:{type:Array,default:()=>[]},recentList:{type:Array,default:()=>[]},recommendDeletable:{type:Boolean,default:!0},inputProps:{type:Object},popProps:{type:Object}},emits:["update:value","search","delete","choose","clear","openMenu","closeMenu"],setup(e,{emit:d}){const y=e,v=c(y,"value",d),f={input:i,select:s},h=t((()=>f[y.mode]));return(e,t)=>(o(),l(p(r(h)),n(e.$props,{value:r(v),"onUpdate:value":t[0]||(t[0]=e=>a(v)?v.value=e:null),onSearch:t[1]||(t[1]=t=>e.$emit("search",t)),onChoose:t[2]||(t[2]=t=>e.$emit("choose",t)),onOpenMenu:t[3]||(t[3]=t=>e.$emit("openMenu",t)),onCloseMenu:t[4]||(t[4]=t=>e.$emit("closeMenu",t)),onDelete:t[5]||(t[5]=t=>e.$emit("delete",t))}),{empty:u((()=>[m(e.$slots,"empty")])),_:3},16,["value"]))}}),[["__file","RecommendSearch.vue"]]);export{y as default};
1
+ import{defineComponent as e,computed as t,provide as o,useSlots as l,openBlock as r,createBlock as n,resolveDynamicComponent as p,unref as a,mergeProps as u,isRef as m,withCtx as i,renderSlot as s}from"vue";import{useVModel as c}from"@vueuse/core";import{InjectionRecommendSearchRootSlots as d}from"./constant/index.js";import y from"./components/RecommendInput.vue.js";import f from"./components/RecommendSelect.vue.js";import v from"../../../_virtual/plugin-vue_export-helper.js";var h=v(e({__name:"RecommendSearch",props:{mode:{type:String,default:"input"},value:{type:[String,Number]},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},placeholder:{type:String},editPlaceholder:{type:String,default:"请输入关键字进行搜索"},clearable:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},commonList:{type:Array,default:()=>[]},recentList:{type:Array,default:()=>[]},recommendDeletable:{type:Boolean,default:!0},inputProps:{type:Object},popProps:{type:Object}},emits:["update:value","search","delete","choose","clear","openMenu","closeMenu"],setup(e,{emit:v}){const h=e,S=c(h,"value",v),b={input:y,select:f},g=t((()=>b[h.mode]));return o(d,l()),(e,t)=>(r(),n(p(a(g)),u(e.$props,{value:a(S),"onUpdate:value":t[0]||(t[0]=e=>m(S)?S.value=e:null),onSearch:t[1]||(t[1]=t=>e.$emit("search",t)),onChoose:t[2]||(t[2]=t=>e.$emit("choose",t)),onOpenMenu:t[3]||(t[3]=t=>e.$emit("openMenu",t)),onCloseMenu:t[4]||(t[4]=t=>e.$emit("closeMenu",t)),onDelete:t[5]||(t[5]=t=>e.$emit("delete",t))}),{empty:i((()=>[s(e.$slots,"empty")])),_:3},16,["value"]))}}),[["__file","RecommendSearch.vue"]]);export{h as default};
@@ -0,0 +1,84 @@
1
+ import { PropType } from 'vue';
2
+ declare const _default: import("vue").DefineComponent<{
3
+ displayValue: {
4
+ type: StringConstructor;
5
+ };
6
+ valueFormatter: {
7
+ type: PropType<(value: undefined | number | string | Array<any>) => string>;
8
+ };
9
+ show: {
10
+ type: BooleanConstructor;
11
+ };
12
+ loading: {
13
+ type: BooleanConstructor;
14
+ };
15
+ placeholder: {
16
+ type: StringConstructor;
17
+ default: string;
18
+ };
19
+ clearable: {
20
+ type: BooleanConstructor;
21
+ default: boolean;
22
+ };
23
+ inputProps: {
24
+ type: ObjectConstructor;
25
+ default: () => {};
26
+ };
27
+ popProps: {
28
+ type: ObjectConstructor;
29
+ default: () => {};
30
+ };
31
+ clearPatternOnOpenMenu: {
32
+ type: BooleanConstructor;
33
+ default: boolean;
34
+ };
35
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "keydown" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "keydown" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
36
+ displayValue: {
37
+ type: StringConstructor;
38
+ };
39
+ valueFormatter: {
40
+ type: PropType<(value: undefined | number | string | Array<any>) => string>;
41
+ };
42
+ show: {
43
+ type: BooleanConstructor;
44
+ };
45
+ loading: {
46
+ type: BooleanConstructor;
47
+ };
48
+ placeholder: {
49
+ type: StringConstructor;
50
+ default: string;
51
+ };
52
+ clearable: {
53
+ type: BooleanConstructor;
54
+ default: boolean;
55
+ };
56
+ inputProps: {
57
+ type: ObjectConstructor;
58
+ default: () => {};
59
+ };
60
+ popProps: {
61
+ type: ObjectConstructor;
62
+ default: () => {};
63
+ };
64
+ clearPatternOnOpenMenu: {
65
+ type: BooleanConstructor;
66
+ default: boolean;
67
+ };
68
+ }>> & {
69
+ onKeydown?: ((...args: any[]) => any) | undefined;
70
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
71
+ onClear?: ((...args: any[]) => any) | undefined;
72
+ onSearch?: ((...args: any[]) => any) | undefined;
73
+ onOpenMenu?: ((...args: any[]) => any) | undefined;
74
+ onCloseMenu?: ((...args: any[]) => any) | undefined;
75
+ }, {
76
+ loading: boolean;
77
+ show: boolean;
78
+ placeholder: string;
79
+ clearable: boolean;
80
+ inputProps: Record<string, any>;
81
+ popProps: Record<string, any>;
82
+ clearPatternOnOpenMenu: boolean;
83
+ }>;
84
+ export default _default;
@@ -0,0 +1 @@
1
+ import{defineComponent as e,inject as a,ref as t,computed as o,createVNode as l,mergeProps as n}from"vue";import{isFunction as r}from"lodash-es";import{uuidGenerator as u}from"../../../../shared/utils/index.js";import{useDebounceFn as s,onClickOutside as p}from"@vueuse/core";import{NPopover as i,NInput as c,NSpin as d}from"naive-ui";import{InjectionRecommendSearchRootSlots as v}from"../constant/index.js";var m=e({props:{displayValue:{type:String},valueFormatter:{type:Function},show:{type:Boolean},loading:{type:Boolean},placeholder:{type:String,default:"请输入"},clearable:{type:Boolean,default:!0},inputProps:{type:Object,default:()=>({})},popProps:{type:Object,default:()=>({})},clearPatternOnOpenMenu:{type:Boolean,default:!0}},emits:["update:show","keydown","clear","search","openMenu","closeMenu"],setup(e,{expose:m,emit:f,slots:h}){const g=a(v,{}),y=u(),w=s(((e="")=>{f("search",e)}),300),b=t(e.show),M=o({get:()=>b.value||e.show,set(e){f("update:show",e),b.value=e}}),P=t(),O=t(""),x=o({get:()=>M.value?O.value:e.displayValue,set(e){O.value=e||"",w(e)}});function j(e){var a;"INPUT"===(null==(a=e.target)?void 0:a.tagName)&&k()}function k(){M.value||(M.value=!0,f("openMenu"),e.clearPatternOnOpenMenu&&(O.value=""))}function B(){var e;M.value=!1,null==(e=P.value)||e.blur(),f("closeMenu")}function F(){f("clear")}return p(P,(e=>{var a;if(!M.value)return;const t=e;if(!t.target)return B();!function(e){let a=!1,t=e;for(;t;){if(t.id===y){a=!0;break}t=t.parentElement}return a}(t.target)?B():null==(a=P.value)||a.focus()})),m({setPattern(e){O.value=e},closeMenu:B,openMenu:k}),()=>l(i,n({trigger:"manual",class:"recommend-search",placement:"bottom-start",show:M.value,"onUpdate:show":e=>M.value=e,"show-arrow":!1,width:"trigger"},e.popProps),{trigger:()=>l(c,n(e.inputProps,{placeholder:e.placeholder,clearable:e.clearable,onClear:F,onFocus:j,onClick:j,onKeydown:e=>f("keydown",e),ref:P,value:x.value,"onUpdate:value":e=>x.value=e}),g),default:()=>l(d,{show:e.loading},{default:()=>[l("section",{id:y,class:"base-search__menu",style:"min-height: 100px"},[r(null==h?void 0:h.menu)?h.menu():null])]})})}});export{m as default};
@@ -187,66 +187,7 @@ declare const _default: import("vue").DefineComponent<{
187
187
  type: BooleanConstructor;
188
188
  default: boolean;
189
189
  };
190
- }, {
191
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
192
- displayValue: {
193
- type: StringConstructor;
194
- };
195
- valueFormatter: {
196
- type: PropType<(value: string | number | any[] | undefined) => string>;
197
- };
198
- show: {
199
- type: BooleanConstructor;
200
- };
201
- loading: {
202
- type: BooleanConstructor;
203
- };
204
- placeholder: {
205
- type: StringConstructor;
206
- default: string;
207
- };
208
- clearable: {
209
- type: BooleanConstructor;
210
- default: boolean;
211
- };
212
- inputProps: {
213
- type: ObjectConstructor;
214
- default: () => {};
215
- };
216
- popProps: {
217
- type: ObjectConstructor;
218
- default: () => {};
219
- };
220
- clearPatternOnOpenMenu: {
221
- type: BooleanConstructor;
222
- default: boolean;
223
- };
224
- }>> & {
225
- "onUpdate:show"?: ((...args: any[]) => any) | undefined;
226
- onClear?: ((...args: any[]) => any) | undefined;
227
- onSearch?: ((...args: any[]) => any) | undefined;
228
- onOpenMenu?: ((...args: any[]) => any) | undefined;
229
- onCloseMenu?: ((...args: any[]) => any) | undefined;
230
- }>>;
231
- uuid: string;
232
- emits: (event: "clear" | "update:show" | "search" | "openMenu" | "closeMenu", ...args: any[]) => void;
233
- search: (content?: any) => void;
234
- popoverRef: import("vue").Ref<{
235
- syncPosition: import("../../../../../es/shared/types").Func<any[], any>;
236
- } | undefined>;
237
- _show: import("vue").Ref<boolean>;
238
- show: import("vue").WritableComputedRef<boolean>;
239
- inputRef: import("vue").Ref<HTMLElement | undefined>;
240
- patternContent: import("vue").Ref<string>;
241
- displayValueRef: import("vue").WritableComputedRef<string | undefined>;
242
- openMenuAtInput: (evt: PointerEvent) => void;
243
- openMenu: () => void;
244
- closeMenu: () => void;
245
- onClear: () => void;
246
- NInput: any;
247
- NPopover: any;
248
- NSpin: any;
249
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
190
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:show" | "keydown" | "search" | "openMenu" | "closeMenu")[], "search" | "closeMenu" | "clear" | "update:show" | "keydown" | "openMenu", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
250
191
  displayValue: {
251
192
  type: StringConstructor;
252
193
  };
@@ -280,6 +221,7 @@ declare const _default: import("vue").DefineComponent<{
280
221
  default: boolean;
281
222
  };
282
223
  }>> & {
224
+ onKeydown?: ((...args: any[]) => any) | undefined;
283
225
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
284
226
  onClear?: ((...args: any[]) => any) | undefined;
285
227
  onSearch?: ((...args: any[]) => any) | undefined;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,watch as o,onMounted as n,computed as l,openBlock as r,createElementBlock as a,createVNode as c,mergeProps as s,unref as i,withCtx as m,Fragment as u,renderSlot as p,createCommentVNode as d,createElementVNode as v,renderList as y,toDisplayString as h}from"vue";import{useVModel as f,useVirtualList as _}from"@vueuse/core";import b from"./RecommendMenu.vue.js";import j from"./BaseSearch.vue.js";import k from"../../../../_virtual/plugin-vue_export-helper.js";const g={class:"recommend-search"},L=v("section",{class:"recommend-search__empty"},"暂无数据",-1),M=["onClick"],O=["title"],w=v("section",{class:"recommend-search__empty"},"暂无数据",-1);var A=k(e({__name:"RecommendInput",props:{value:{type:String},options:{type:Array,default:()=>[]},placeholder:{type:String,default:"请输入"},clearable:{type:Boolean,default:!0},commonList:{type:Array,default:()=>[]},recentList:{type:Array,default:()=>[]},recommendDeletable:{type:Boolean,default:!0}},emits:["update:value","search","delete","choose","clear","openMenu","closeMenu"],setup(e,{emit:k}){const A=e,C=t();function S(e=""){var t;null==(t=C.value)||t.setPattern(e)}const x=f(A,"value",k);o(x,S),n((()=>S(x.value)));const D=l((()=>x.value?A.options:A.options.filter((e=>{return A.commonList.every(t)&&A.recentList.every(t);function t(t){return t.itemObj!==e.itemObj}}))));function R(e){x.value=e,k("search",e)}function $(){k("openMenu")}function B(){k("closeMenu")}function P({type:e,value:t}){var o;x.value=t.itemObj,null==(o=C.value)||o.closeMenu(),k("choose",{type:e,value:t.itemObj})}const{list:I,wrapperProps:E,containerProps:H}=_(D,{itemHeight:32,overscan:3});function K(e){["ArrowUp","ArrowDown","Enter"].includes(e.key)&&console.log(e)}return(t,o)=>(r(),a("section",g,[c(j,s({ref_key:"baseSearchRef",ref:C,"display-value":i(x),"clear-pattern-on-open-menu":!1,placeholder:e.placeholder,clearable:e.clearable,onKeydown:K,onSearch:R,onOpenMenu:$,onCloseMenu:B},t.$attrs),{menu:m((()=>[i(x)?(r(),a(u,{key:1},[i(D).length?(r(),a("section",s({key:0,class:"recommend-search__optionContainer"},i(H),{style:{height:"256px"}}),[v("section",s({class:"recommend-search__optionList"},i(E)),[(r(!0),a(u,null,y(i(I),(e=>(r(),a("div",{onClick:t=>P({value:e.data}),key:e.data.itemObj,class:"recommend-search__option"},[v("div",{class:"recommend-search__optionText",title:e.data.itemObj},h(e.data.itemObj),9,O)],8,M)))),128))],16)],16)):p(t.$slots,"empty",{key:1},(()=>[w]))],64)):(r(),a(u,{key:0},[c(b,{"common-list":e.commonList,"recent-list":e.recentList,deletable:e.recommendDeletable,onDelete:o[0]||(o[0]=e=>t.$emit("delete",e)),onChoose:P},null,8,["common-list","recent-list","deletable"]),e.commonList.length||e.recentList.length?d("v-if",!0):p(t.$slots,"empty",{key:0},(()=>[L]))],64))])),_:3},16,["display-value","placeholder","clearable"])]))}}),[["__file","RecommendInput.vue"]]);export{A as default};
1
+ import{defineComponent as e,ref as t,watch as o,onMounted as n,computed as l,openBlock as r,createElementBlock as a,createVNode as c,unref as s,mergeProps as i,withCtx as m,Fragment as u,renderSlot as p,createCommentVNode as d,createElementVNode as y,renderList as v,toDisplayString as h}from"vue";import{useVModel as f,useVirtualList as _}from"@vueuse/core";import b from"./RecommendMenu.vue.js";import j from"./BaseSearch.js";import k from"../../../../_virtual/plugin-vue_export-helper.js";const g={class:"recommend-search"},L=y("section",{class:"recommend-search__empty"},"暂无数据",-1),M=["onClick"],O=["title"],w=y("section",{class:"recommend-search__empty"},"暂无数据",-1);var A=k(e({__name:"RecommendInput",props:{value:{type:String},options:{type:Array,default:()=>[]},placeholder:{type:String,default:"请输入"},clearable:{type:Boolean,default:!0},commonList:{type:Array,default:()=>[]},recentList:{type:Array,default:()=>[]},recommendDeletable:{type:Boolean,default:!0}},emits:["update:value","search","delete","choose","clear","openMenu","closeMenu"],setup(e,{emit:k}){const A=e,C=t();function S(e=""){var t;null==(t=C.value)||t.setPattern(e)}const x=f(A,"value",k);o(x,S),n((()=>S(x.value)));const D=l((()=>x.value?A.options:A.options.filter((e=>{return A.commonList.every(t)&&A.recentList.every(t);function t(t){return t.itemObj!==e.itemObj}}))));function R(e){x.value=e,k("search",e)}function $(){k("openMenu")}function B(){k("closeMenu")}function P({type:e,value:t}){var o;x.value=t.itemObj,null==(o=C.value)||o.closeMenu(),k("choose",{type:e,value:t.itemObj})}const{list:I,wrapperProps:E,containerProps:H}=_(D,{itemHeight:32,overscan:3});function K(e){["ArrowUp","ArrowDown","Enter"].includes(e.key)&&console.log(e)}return(t,o)=>(r(),a("section",g,[c(s(j),i({ref_key:"baseSearchRef",ref:C,"display-value":s(x),"clear-pattern-on-open-menu":!1,placeholder:e.placeholder,clearable:e.clearable,onKeydown:K,onSearch:R,onOpenMenu:$,onCloseMenu:B},t.$attrs),{menu:m((()=>[s(x)?(r(),a(u,{key:1},[s(D).length?(r(),a("section",i({key:0,class:"recommend-search__optionContainer"},s(H),{style:{height:"256px"}}),[y("section",i({class:"recommend-search__optionList"},s(E)),[(r(!0),a(u,null,v(s(I),(e=>(r(),a("div",{onClick:t=>P({value:e.data}),key:e.data.itemObj,class:"recommend-search__option"},[y("div",{class:"recommend-search__optionText",title:e.data.itemObj},h(e.data.itemObj),9,O)],8,M)))),128))],16)],16)):p(t.$slots,"empty",{key:1},(()=>[w]))],64)):(r(),a(u,{key:0},[c(b,{"common-list":e.commonList,"recent-list":e.recentList,deletable:e.recommendDeletable,onDelete:o[0]||(o[0]=e=>t.$emit("delete",e)),onChoose:P},null,8,["common-list","recent-list","deletable"]),e.commonList.length||e.recentList.length?d("v-if",!0):p(t.$slots,"empty",{key:0},(()=>[L]))],64))])),_:3},16,["display-value","placeholder","clearable"])]))}}),[["__file","RecommendInput.vue"]]);export{A as default};