cnhis-design-vue 3.1.48-beta.25 → 3.1.48-beta.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/form-render/src/components/renderer/select.js +1 -1
- package/es/components/form-render/src/hooks/useFormRenderOptions.d.ts +2 -0
- package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
- package/es/shared/package.json.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as e,computed as o,inject as t,useAttrs as l,createVNode as a,mergeProps as r}from"vue";import{useDebounceFn as
|
|
1
|
+
import{defineComponent as e,computed as o,inject as t,useAttrs as l,createVNode as a,mergeProps as r,toRaw as n}from"vue";import{arrayed as s}from"../../../../../shared/utils/index.js";import{useDebounceFn as u}from"@vueuse/core";import{cloneDeep as i,isArray as p,isString as m,isObject as c,omit as d}from"lodash-es";import{useCommonInjection as v,useSelectOptionProps as f}from"../../hooks/useCommonInjection.js";import{useComplexOptions as y,useComplexOptionsSpan as h}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as j,InjectionFormUUID as b}from"../../constants/index.js";import"../../../index.js";import"@formily/core";import"@formily/path";import"@vue/shared";import"date-fns";import{assignUpdateValue as S,assignClearBindVisited as k,createVisitedSetter as C}from"../../utils/schema.js";import{useFormField as F}from"../../hooks/useFormField.js";import{NSelect as g}from"naive-ui";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{connect as x,mapProps as O}from"@formily/vue";import"./index.js";import{useUrlConfigOptions as A,useAutographOptions as B,useRecommendOptions as H,searchContentMatcher as K}from"../../hooks/useFormRenderOptions.js";const L=x(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,shouldSave: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:S,emit:k}){const x=o({get:()=>e.value,async set(e){k("update:value",e),q(e)}}),{labelKey:O,valueKey:L,fetchData:R,searchContent:V,fullOptions:_,filterOptions:w,remoteOptions:N}=e.urlConfig?A(e,x):B(e,x),{renderComplexOption:P,hasComplexOption:I}=y(e,x),{getRecommend:W,postRecommend:q,sortedOptions:E}=H(e,w,k,O,L),{field:U,fieldKey:z}=F();t(j).setContext(z.value,(e=>({currentOption:i(function(e){const o=Z(_.value);return p(e)?function(e){const t=o.reduce(((e,o)=>(e[o[L.value]]=o,e)),{});return e.map((e=>t[e]))}(e):(t=e,o.find((e=>e[L.value]===t)));var t}(e))})));const D=u((async(e="")=>{V.value=e,R(e),W(e)}),300),{injectValueValidate:G,injectValueWatchFromEmpty:J,injectValueBindKey:M}=v();J(x,D),G(x);const Q=M(x),{menuProps:T,nodeProps:X}=f();function Y(e){const o=e[O.value];if(!o||!m(o))return"";const t=V.value?K(V.value,o):null;return t?a("section",null,[t.map(((e,o)=>0!==o&&e?a("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}function Z(o){return e.allowCreate&&V.value?[{[O.value]:V.value,[L.value]:V.value,created:!0,shouldSave:e.shouldSave},...o]:o}const $=o((()=>E.value.length?E.value:Z(E.value))),ee=l(),oe=o((()=>{if(e.allowCreate)return x.value;const o=ee.multiple&&p(x.value);return _.value.find((e=>o?x.value.includes(e[L.value]):e[L.value]===x.value))?x.value:null}));function te(e){e&&D()}function le(e,o){x.value=e,N.value&&o&&s(o).forEach((e=>{if(!c(e))return;const o=e;o.created&&o.shouldSave&&N.value.push(d(n(o),["created","shouldSave"]))}))}const ae=t(b),{getSpan:re}=h();function ne(e){return a(g,r({key:Q.value,remote:!0,filterable:!0,value:oe.value,onUpdateValue:le,"menu-props":T,"node-props":X,labelField:O.value,valueField:L.value,options:$.value,onSearch:D,"onUpdate:show":te,onFocus:C(U),renderLabel:Y},e,ee),S)}return()=>{var e,o;if(!I.value)return ne();const t=null!=(o=null==(e=U.value.decoratorProps)?void 0:e.span)?o:6,l=re(ae,U.value.address);return a("section",{class:"form-render__selectChildField",style:{"--column":l+t}},[ne({class:"form-render__selectChildFieldItem",style:{"--form-item-column":t}}),_.value.map((e=>P({option:e,value:x.value,valueKey:L.value,labelKey:O.value,childFieldStrategy:"checked",renderLabel:!1,attrs:{class:"form-render__selectChildFieldItem",style:{"--form-item-column":l}}})))])}}}),O({dataSource:"options"},S,k));export{L as SELECT};
|
|
@@ -26,6 +26,7 @@ export declare function useUrlConfigOptions(props: {
|
|
|
26
26
|
}, valueRef: Ref): {
|
|
27
27
|
labelKey: import("vue").ComputedRef<string>;
|
|
28
28
|
valueKey: import("vue").ComputedRef<string>;
|
|
29
|
+
remoteOptions: Ref<AnyObject[] | null>;
|
|
29
30
|
filterOptions: import("vue").ComputedRef<AnyObject[]>;
|
|
30
31
|
fullOptions: import("vue").ComputedRef<AnyObject[]>;
|
|
31
32
|
fetchData: (content?: string) => Promise<null | undefined>;
|
|
@@ -41,6 +42,7 @@ export declare function useAutographOptions(props: Partial<{
|
|
|
41
42
|
options: AnyObject[];
|
|
42
43
|
}>, valueRef: Ref): {
|
|
43
44
|
labelKey: import("vue").ComputedRef<string>;
|
|
45
|
+
remoteOptions: Ref<AnyObject[] | null>;
|
|
44
46
|
valueKey: import("vue").ComputedRef<string>;
|
|
45
47
|
filterOptions: import("vue").ComputedRef<AnyObject[]>;
|
|
46
48
|
fullOptions: import("vue").ComputedRef<AnyObject[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{checkInSetupEnv as e,jsonParse as n,keywordMatcher as t}from"../../../../shared/utils/index.js";import{useForm as l}from"@formily/vue";import{useMemoize as
|
|
1
|
+
import{checkInSetupEnv as e,jsonParse as n,keywordMatcher as t}from"../../../../shared/utils/index.js";import{useForm as l}from"@formily/vue";import{useMemoize as o,useDebounceFn as u}from"@vueuse/core";import{identity as r,uniqBy as a,isString as i,isEqual as c,isArray as s,omit as v,isFunction as m}from"lodash-es";import{computed as f,inject as d,ref as y,toRaw as p,watch as h}from"vue";import"../../index.js";import{InjectionAsyncQueue as g,InjectionFormLifeCycleCaller as w,InjectionFormItemDepsCollector as k}from"../constants/index.js";import{useFormField as b}from"./useFormField.js";import{createUrlConfigParams as C,formRenderLog as R}from"../utils/index.js";import{useFormRequest as O}from"./useFormRequest.js";function F(e,n){const t=y();return f({get:()=>t.value?t.value:e[n],set(e){t.value=e}})}const K=(()=>{const e=o((e=>new RegExp(`(.*)${e.split("").map((e=>`(${function(e){return e.match(/[()\[\]{}$^\/]/)?"\\"+e:e}(e)})`)).join("(.*)")}(.*)`)),{getKey:r});return(n,t)=>t.match(e(n))})();function q(){const e=y();return{searchContent:e,optionSearchFilter:function(n,l,o){if(!e.value)return n;const u=s(o)?o.filter((e=>e&&i(e))):[];return n.filter((n=>function(n,l,o){if(!e.value)return!0;const u=n?n[l]:"";return!!i(u)&&(!!K(e.value,u)||!!t(e.value,n.keyword)||!!o.length&&o.some((t=>i(n[t])&&n[t].includes(e.value))))}(n,l,u)))}}}function j(e,t,l,o,u){const r=F(e,"commonList"),i=F(e,"recentList"),{searchContent:c,optionSearchFilter:s}=q();function y(e){return n(e.itemObj)}const p=f((()=>{var e,n;return null!=(n=null==(e=r.value)?void 0:e.map(y))?n:[]})),h=f((()=>{var e,n;return null!=(n=null==(e=i.value)?void 0:e.map(y))?n:[]})),w=f((()=>{if(!e.recommend||!p.value.length&&!h.value.length)return t.value;const n=a(p.value.concat(h.value),(e=>e[u.value])),l=t.value.filter((e=>n.every((function(n){return n[u.value]!==e[u.value]}))));return[...s(n,o.value),...l]})),{getRecommendRequestInfo:k,getHttpInstance:C}=O();function R(n){const{url:t,getRecommendIds:l}=k(),o=m(l)?l():{},u=m(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:t[n],info:Object.assign({},o,u)}}const{fieldKey:K}=b(),j=d(g);return{postRecommend:async function(n){if(!e.recommend)return;const t=C();if(!t)return;const{url:o,info:r}=R("post"),a=w.value.find((e=>e[u.value]===n));a&&l("postRecommend",await t.post(o,{...r,keyword:"",itemId:u.value,itemObj:JSON.stringify(a)}))},getRecommend:async function(n){if(!e.recommend)return;if(c.value=n,r.value&&i.value&&e.recommendCache)return;const t=await j.addAsync(function(n,t){const{url:l,info:o}=R("get");return{url:l,method:"get",key:n,cache:t,params:{...o,recNum:Math.max(e.commonNum,e.recentNum),keyword:""}}}(K.value,e.recommendCache)),{commonly:l,recently:o}=t.reduce(((e,n)=>("commonly"===n.type?e.commonly.push(v(n,["type"])):"recently"===n.type&&e.recently.push(v(n,["type"])),e)),{commonly:[],recently:[]});r.value=l.slice(0,e.commonNum),i.value=o.slice(0,e.recentNum)},sortedOptions:w}}function I(n,t){e();const l=d(g),o=d(w),r=f((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.urlConfig)?void 0:e.nameKey)?t:n.labelField)?l:"text"})),a=f((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.urlConfig)?void 0:e.valueKey)?t:n.valueField)?l:"value"})),{searchContent:s,optionSearchFilter:v}=q(),m=y(null),{field:O,fieldKey:F}=b(),K=u((async function(e){if(s.value=e||"",!n.urlConfig)return m.value=null;try{const e=await l.addAsync(await C({config:n.urlConfig,cache:n.requestCache,field:O.value}));p(m.value)!==e&&(m.value=e,o("afterOptionInit",[F.value,m.value]))}catch(e){i(e)&&R(e)}}),300),j=f((()=>m.value?v(m.value,r.value):Array.isArray(n.options)?v(n.options,r.value):[])),I=f((()=>m.value||n.options||[])),x=d(k);return h((()=>n.urlConfig),((e,l)=>{if(!c(e,l)){if(m.value=null,!e)return m.value=null;x.setDeps(F.value,e.dependKey||[],(async()=>{m.value=null,t.value=null,!n.lazyRequest&&await K()})),(t.value||!n.lazyRequest)&&K()}}),{immediate:!0}),{labelKey:r,valueKey:a,remoteOptions:m,filterOptions:j,fullOptions:I,fetchData:K,searchContent:s}}function x(n,t){e();const o=d(g),r=d(w),a=l(),v=f((()=>{var e,t,l,o;const u=null==(t=null==(e=n.wordbook)?void 0:e.render_key)?void 0:t[0];if(i(u))return u;let r=null==(l=n.wordbook)?void 0:l.show_key;return s(r)&&(r=r[0]),i(r)?r:null!=(o=n.labelField)?o:"text"})),m=f((()=>{var e,t,l;return null!=(l=null!=(t=null==(e=n.wordbook)?void 0:e.value_key)?t:n.valueField)?l:"value"})),C=f((()=>{var e;return(null==(e=n.wordbook)?void 0:e.search_key)||[]})),{searchContent:F,optionSearchFilter:K}=q(),j=y(null),{fieldKey:I}=b(),{getSearchRequestInfo:x}=O(),A=u((async function(e){if(F.value=e||"",!n.autograph||!n.wordbook)return j.value=null;try{const e=await o.addAsync(function(e,t,l){var o,u,r;const i={autograph:t,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1};if(null==(o=e.queryParams)?void 0:o.length){const n=null!=(r=null==(u=a.value)?void 0:u.getFormState().values)?r:{};e.queryParams.forEach((e=>{i[e]=n[e]}))}return console.log(i),{...x(),params:i,key:l,cache:n.requestCache}}(n.wordbook,n.autograph,I.value));p(j.value)!==e&&(j.value=e,r("afterOptionInit",[I.value,j.value]))}catch(e){i(e)&&R(e)}}),300),S=f((()=>j.value?K(j.value,v.value,C.value):Array.isArray(n.options)?K(n.options,v.value):[])),N=f((()=>j.value||n.options||[])),_=d(k);return h((()=>n.wordbook),((e,l)=>{if(!c(e,l)){if(j.value=null,!e)return j.value=null;_.setDeps(I.value,e.queryParams||[],(async()=>{j.value=null,A()})),(t.value||!n.lazyRequest)&&A()}}),{immediate:!0}),{labelKey:v,remoteOptions:j,valueKey:m,filterOptions:S,fullOptions:N,fetchData:A,searchContent:F}}export{K as searchContentMatcher,x as useAutographOptions,j as useRecommendOptions,I as useUrlConfigOptions};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as e,inject as o,ref as l,computed as t,createVNode as a}from"vue";import{keywordMatcher as
|
|
1
|
+
import{defineComponent as e,inject as o,ref as l,computed as t,createVNode as a,toRaw as u}from"vue";import{keywordMatcher as r,arrayed as n}from"../../../../../../../shared/utils/index.js";import{NSelect as i}from"naive-ui";import{InjectionIhoTableUUID as s}from"../../../../constants/index.js";import{selectOptionsMap as d}from"../hooks/useSelectOption.js";import{useIhoTableFormEvent as p}from"../../../../utils/index.js";import{useDebounceFn as c}from"@vueuse/core";import{isEmpty as v,isFunction as m,isArray as f,isObject as h,omit as y}from"lodash-es";var b=e({name:"EditSelect",props:{value:{type:[Array,String,Number]},column:{type:Object,required:!0},row:{type:Object,required:!0},rowIndex:{type:Number,required:!0},options:{type:Array,default:()=>[]},queryOptions:{type:Function},placeholder:{type:String,default:"请选择"},allowCreate:{type:Boolean,default:!1},shouldSave:{type:Boolean,default:!1}},emits:["update:value"],setup(e,{emit:b}){const w=o("$xetable"),S=l(null);function x(e){S.value=e}const O=l(!1),{emitFormChangeWithParams:g}=p({...e,$table:w}),j=l("");function q(){return E()}const k=l([]),_=t((()=>{let o=v(k.value)?e.options:k.value;return j.value&&(o=o.filter((e=>e.label&&e.label.includes(j.value)||r(j.value,e.keyword)))),!e.allowCreate||o.some((e=>e.label===j.value))?o:[...o,{label:j.value,value:j.value,created:!0,shouldSave:e.shouldSave}]})),C=l(!1),E=c((async function(o=""){j.value=o;try{if(C.value=!0,!m(e.queryOptions)||!v(e.options))return;k.value=await e.queryOptions({keyword:o,row:e.row,column:e.column,rowIndex:e.rowIndex})}catch(o){console.log(`获取${e.column.field}options错误`)}finally{C.value=!1}}),400),I=o(s);function P(o,l){const t=e.value;b("update:value",o);const a=d.get(I);a&&f(a[e.column.field])&&n(l).forEach((o=>{if(!h(o))return;const l=o;l.created&&l.shouldSave&&a[e.column.field].push(y(u(l),["created","shouldSave"]))})),g({oldValue:t,option:l})}function U(e){var o,l;"Tab"===e.key&&S.value&&(null==(l=(o=S.value).handleKeydown)||l.call(o,{...e,key:"Enter",preventDefault:e.preventDefault.bind(e)}))}const $=()=>({class:"iho-table__selectOption"}),A={class:"iho-table__selectMenu"};return()=>a(i,{ref:x,show:O.value,"onUpdate:show":e=>O.value=e,placeholder:e.placeholder,loading:C.value,options:_.value,value:e.value,remote:!0,onSearch:E,clearable:!0,filterable:!0,nodeProps:$,menuProps:A,onUpdateShow:q,onUpdateValue:P,onKeydown:U},null)}});export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e="@cnhis-design-vue/shared",i="3.1.48-beta.
|
|
1
|
+
var e="@cnhis-design-vue/shared",i="3.1.48-beta.27",s="index.ts",n={"naive-ui":"^2.30.0",vue:"^3.2.0"},a={"@vicons/ionicons5":"^0.12.0","lodash-es":"^4.17.21",moment:"^2.29.1","video.js":"^7.19.2","videojs-contrib-hls":"^5.15.0",viewerjs:"^1.10.5","xe-utils":"^3.5.4"},d={name:e,version:"3.1.48-beta.27",private:!0,main:"index.ts",peerDependencies:n,dependencies:a};export{d as default,a as dependencies,s as main,e as name,n as peerDependencies,i as version};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cnhis-design-vue",
|
|
3
|
-
"version": "3.1.48-beta.
|
|
3
|
+
"version": "3.1.48-beta.27",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"module": "./es/components/index.js",
|
|
6
6
|
"main": "./es/components/index.js",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"iOS 7",
|
|
64
64
|
"last 3 iOS versions"
|
|
65
65
|
],
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "22e005158cea54bc917ea95f9625b3ccd63de4ed"
|
|
67
67
|
}
|