@nocobase/client-v2 3.0.0-alpha.12 → 3.0.0-alpha.13
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/index.mjs
CHANGED
|
@@ -1085,7 +1085,7 @@ ctx.render(\`
|
|
|
1085
1085
|
text-overflow: ellipsis;
|
|
1086
1086
|
white-space: nowrap;
|
|
1087
1087
|
width: calc(${this.props.width}px - 16px);
|
|
1088
|
-
`,children:(0,m.jsx)(t,{})})})});return this.hidden&&!this.context.flowSettingsEnabled?null:{...this.props,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[l,(0,m.jsx)(b.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(eV.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):l,render:(e,t,l)=>{var o,n;let i=(null==(n=this.context.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,t))??(null==t?void 0:t.id)??l,r=hu(t),a=this.createFork({},String(i));a.__recordRenderSignature!==r&&(a.__recordRenderSignature=r,a.invalidateFlowCache("beforeRender"));let s=(0,f.createRecordMetaFactory)(()=>a.context.collection,a.context.t("Current record"),e=>{var t,l,o,n;let i=null==(t=e.collection)?void 0:t.name,r=null==(l=e.collection)?void 0:l.dataSourceKey,a=null==(n=e.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,e.record);if(i&&null!=a)return{collection:i,dataSourceKey:r,filterByTk:a}});return a.context.defineProperty("record",{get:()=>t,cache:!1,resolveOnServer:(0,f.createRecordResolveOnServerWithLocal)(()=>a.context.collection,()=>t),meta:s}),a.context.defineProperty("recordIndex",{get:()=>l}),(0,m.jsx)(f.MemoFlowModelRenderer,{model:a},`${a.uid}:${r}`)}}}render(){if(!this._RenderComponent){let e=this,t=()=>{let t=e.context.ref;return i.default.useEffect(()=>{let l=e;(null==t?void 0:t.current)&&(l.__mountedOnce?e.rerender():l.__mountedOnce=!0)},[null==t?void 0:t.current]),(0,m.jsx)("div",{style:{width:this.props.width-8,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,m.jsx)("span",{ref:t,style:{maxWidth:"100%"}})})};t.displayName="JSColumnModelStableRenderer",this._RenderComponent=t}return this._RenderComponent}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.applyFlow("tableColumnSettings")}}function hp(e){return()=>{var t,l,o,n,i;let r=e.valueAccessor();return{index:null==(t=e.indexAccessor)?void 0:t.call(e),length:null==(l=e.lengthAccessor)?void 0:l.call(e),__is_new__:(null==(o=e.isNewAccessor)?void 0:o.call(e))??(null==r?void 0:r.__is_new__),__is_stored__:(null==(n=e.isStoredAccessor)?void 0:n.call(e))??(null==r?void 0:r.__is_stored__),value:r,parentItem:null==(i=e.parentItemAccessor)?void 0:i.call(e)}}}function hm(e){return{index:void 0,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:void 0}}function hh(e,t){let l=Array.isArray(t)?t.length>0&&t.every(t=>(null==e?void 0:e[t])!=null):!!t&&(null==e?void 0:e[t])!=null,o=!!(null==e?void 0:e.__is_new__)||!l,n=!!(null==e?void 0:e.__is_stored__)||!o&&l;return{record:e,hasPrimaryKey:l,isNew:o,isStored:n}}function hf(e,t,l){let o="string"==typeof(null==t?void 0:t.title)&&t.title||"string"==typeof(null==t?void 0:t.name)&&t.name||l,n="string"==typeof o&&o?e(o):"";return n?`${e("Current item")}(${n})`:e("Current item")}function hg(e){return{parentPropertiesAccessor:t=>{var l,o,n,i;return(null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.item)?void 0:l.value)??(null==(i=e.fallbackParentPropertiesAccessor)?void 0:i.call(e,t))},parentItemMetaAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.meta},parentItemResolverAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.resolveOnServer}}}function hv(e){return{parentPropertiesAccessor:()=>{var t,l;return null==e||null==(l=e())||null==(t=l.parentItem)?void 0:t.value},parentItemMetaAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemMeta},parentItemResolverAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemResolver}}}function hy(e,t){if(!e||"object"!=typeof e)return{item:t};let l=Object.create(e);return Object.defineProperty(l,"item",{value:t,configurable:!0,enumerable:!0,writable:!1}),l}async function h_(e){return e?"function"==typeof e?await e()||null:e:null}function hb(e){let{t,title:l,showIndex:o,showParentIndex:n,disableValueBranch:i,valueBranchDisabledReason:r,collectionAccessor:a,propertiesAccessor:s,parentCollectionAccessor:d,parentPropertiesAccessor:u,parentItemMetaAccessor:c}=e,p=(0,f.createAssociationAwareObjectMetaFactory)(a,l,s),m=d?(0,f.createAssociationAwareObjectMetaFactory)(d,l,e=>{var t,l;return(null==u?void 0:u(e))??(null==e||null==(l=e.item)||null==(t=l.parentItem)?void 0:t.value)}):null,h=async()=>{var e,a;let s=await p();if(!s)return null;let d=await h_(null==c?void 0:c()),u=m?await m():null,h=s.buildVariablesParams,f=d?d.buildVariablesParams:null==u?void 0:u.buildVariablesParams,g=()=>({type:"number",title:t("Index (starts from 0)")}),v=()=>({type:"number",title:t("Total count")}),y={};if(!1!==o&&(y.index=g(),y.length=v()),y.value={...s,title:t("Attributes"),...i?{disabled:!0,disabledReason:r||t("Attributes are unavailable before selecting a record")}:{}},d)y.parentItem={...d,title:(null==(e=d.title)?void 0:e.replace(t("Current item"),t("Parent item")))||t("Parent item")};else{let e={};!1!==n&&(e.index=g(),e.length=v()),e.value=u?{...u,title:t("Attributes")}:{type:"object",title:t("Attributes")},y.parentItem={type:"object",title:(null==d||null==(a=d.title)?void 0:a.replace(t("Current item"),t("Parent item")))||t("Parent item"),properties:e}}return{type:"object",title:l,properties:y,buildVariablesParams:async e=>{let t={};if(!i&&"function"==typeof h){let l=await h(e);l&&"object"==typeof l&&Object.keys(l).length&&(t.value=l)}if("function"==typeof f){var l;let o=await f(hy(e,null==e||null==(l=e.item)?void 0:l.parentItem));o&&"object"==typeof o&&Object.keys(o).length&&(t.parentItem=d?o:{value:o})}return t}}};return h.title=l,h}function hx(e){let t=(0,f.createAssociationSubpathResolver)(e.collectionAccessor,e.propertiesAccessor),l="function"==typeof e.parentCollectionAccessor?(0,f.createAssociationSubpathResolver)(e.parentCollectionAccessor,e.parentPropertiesAccessor):null;return o=>{let n=String(o||"");if(!n||"value"===n)return!1;if(n.startsWith("value."))return!e.disableValueBranch&&t(n.slice(6));if("parentItem"===n)return!1;if(n.startsWith("parentItem.")){var i;let t=n.slice(11),o=null==(i=e.parentItemResolverAccessor)?void 0:i.call(e);if("function"==typeof o)return o(t);if("value"===t)return!1;if(t.startsWith("value."))return!!l&&l(t.slice(6))}return!1}}function hM(e){return{meta:hb(e.metaFactoryOptions),resolveOnServer:hx(e.resolverOptions)}}function hw(e){var t,l,o;let n=null==(t=e.parentAccessors)?void 0:t.parentPropertiesAccessor,i=!1===e.useParentItemMeta||null==(l=e.parentAccessors)?void 0:l.parentItemMetaAccessor,r=!1===e.useParentItemResolver||null==(o=e.parentAccessors)?void 0:o.parentItemResolverAccessor;return hS({metaFactoryOptions:{t:e.t,title:e.title,showIndex:e.showIndex,showParentIndex:e.showParentIndex,disableValueBranch:e.disableValueBranch,valueBranchDisabledReason:e.valueBranchDisabledReason,collectionAccessor:e.collectionAccessor,propertiesAccessor:e.propertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemMetaAccessor:i},resolverOptions:{collectionAccessor:e.collectionAccessor,disableValueBranch:e.disableValueBranch,propertiesAccessor:e.resolverPropertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemResolverAccessor:r}})}function hS(e){return{cache:!1,...hM(e),serverOnlyWhenContextParams:!0}}hc.define({label:(0,f.tExpr)("JS column"),createModelOptions:{stepParams:{tableColumnSettings:{title:{title:(0,f.tExpr)("JS column")}}}}}),hc.registerFlow({key:"jsSettings",title:(0,f.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,f.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":sZ.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:()=>({version:"v2",code:"ctx.render('<span class=\"nb-js-column\">JS column</span>');"}),async handler(e,t){var l,o;let{code:n,version:i}=s0(e,t),r=!!(null==(l=e.inputArgs)?void 0:l.preview),a=(null==(o=e.model)?void 0:o.isFork)===!0;if(r&&!a){let t=e.model,l=Array.from((null==t?void 0:t.forks)||[]).filter(e=>{var t,l;return!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)});if(l.length>0){let e=(await Promise.allSettled(l.map(e=>e.applyFlow("jsSettings",{preview:{code:n,version:i}})))).find(e=>"rejected"===e.status);if(e)throw e.reason;return}}e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>{var l;return new f.ElementProxy((null==(l=e.ref)?void 0:l.current)||t)},cache:!1}),await e.runjs(n,void 0,{version:i})})}}}});let hk=["belongsToMany","hasMany","belongsToArray"];function hF(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function hC(e,t){return!!(null==e?void 0:e.type)&&hk.includes(e.type)&&!1!==t}function hA(e,t,l){return hC(e,t)!==hC(e,l)}function hP(e,t){return e?t?Array.isArray(e)?e:[e]:Array.isArray(e)?e.slice(0,1):[e]:[]}function hT(e){return e?[]:void 0}function hj(){}function hI(e,t,l){if(!e)return hT(l);let o=e=>({...e,label:e[t.label],value:e[t.value]});if(!l){let t=Array.isArray(e)?e[0]:e;return hF(t)?o(t):void 0}return Array.isArray(e)?e.filter(hF).map(o):[]}function hL(e,t,l){let o=l&&hA(e.collectionField,null==l?void 0:l.allowMultiple,null==t?void 0:t.allowMultiple),n=hj();if(e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple,...o?{value:n}:{}}),o){var i,r;e.model.selectedRows.value=n,null==(i=(r=e.model.props).onChange)||i.call(r,n)}}function hR(e){var t;let l=("function"==typeof(null==e?void 0:e.getFormValues)?e.getFormValues():void 0)??(null==e?void 0:e.formValues)??(null==e?void 0:e.record)??{},o=(null==e?void 0:e.item)??hm(l),n="function"==typeof(null==e?void 0:e.t)?e.t:e=>e,i=()=>{var t;return(null==e||null==(t=e.collectionField)?void 0:t.collection)??(null==e?void 0:e.collection)??null},r=()=>null==o?void 0:o.value,a=()=>{var e;return null==o||null==(e=o.parentItem)?void 0:e.value},s=hM({metaFactoryOptions:{t:n,title:n("Current item"),collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a,showParentIndex:!1},resolverOptions:{collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a}}),{meta:d=s.meta,resolveOnServer:u=s.resolveOnServer}=(null==e||null==(t=e.getPropertyOptions)?void 0:t.call(e,"item"))||{};return{parentItem:o,parentItemMeta:d,parentItemResolver:u}}function hD(e,t,l){var o;e&&l&&e.context.defineProperty("flowSettingsEnabled",{get:()=>l.context.flowSettingsEnabled,cache:!1});let n=(null==t||null==(o=t.view)?void 0:o.inputArgs)||{},i=n.collectionField,r="function"==typeof(null==t?void 0:t.t)?t.t:e=>e,a=(null==i?void 0:i.targetCollection)??(null==i?void 0:i.collection)??null,s=hv(()=>n),d=()=>n.currentItemValue??{},u=hw({t:r,title:hf(r,i),disableValueBranch:!0,valueBranchDisabledReason:r("Attributes are unavailable before selecting a record"),collectionAccessor:()=>a,propertiesAccessor:d,resolverPropertiesAccessor:d,parentCollectionAccessor:()=>(null==i?void 0:i.collection)??null,parentAccessors:s,useParentItemMeta:!1}),c=hp({valueAccessor:d,parentItemAccessor:()=>n.parentItem,isNewAccessor:()=>!0,isStoredAccessor:()=>!1});e.context.defineProperty("item",{get:c,...u})}function hE(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{parentItem:l,parentItemMeta:o,parentItemResolver:n}=hR(e),i=ud(e,e.inputArgs);return{...t.extraInputArgs||{},parentItem:l,parentItemMeta:o,parentItemResolver:n,currentItemValue:t.currentItemValue,openerUids:i}}function hY(e){let{options:t,fieldModel:l}=e,o=(0,f.useFlowViewContext)(),{data:n,loading:r}=(0,o7.useRequest)(async()=>{let e=await o.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:o,skipSave:!o.flowSettingsEnabled});return hD(e,o,l),e},{refreshDeps:[o,t]});return((0,i.useEffect)(()=>{if(n)return l&&(l.selectBlockModel=n),()=>{if(null==n?void 0:n.uid){var e,t;null==o||null==(t=o.engine)||null==(e=t.removeModelWithSubModels)||e.call(t,n.uid)}(null==l?void 0:l.selectBlockModel)===n&&(l.selectBlockModel=void 0)}},[null==o?void 0:o.engine,n,l]),!r&&(null==n?void 0:n.uid))?(0,m.jsx)(f.FlowModelRenderer,{model:n,fallback:(0,m.jsx)(ne,{style:{margin:16}})}):(0,m.jsx)(ne,{style:{margin:16}})}function hN(e){let{model:t,toOne:l=!1}=e,o=(0,f.useFlowContext)(),{Header:n,Footer:i,type:r}=o.view;return t._closeView=o.view.close,(0,m.jsxs)("div",{children:[(0,m.jsx)(n,{title:"dialog"===r?(0,m.jsx)("div",{style:{padding:`${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px 0`,marginBottom:-o.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:o.t("Select record")}):o.t("Select record")}),(0,m.jsx)(hY,{options:{parentId:o.view.inputArgs.parentId,subKey:"grid-block",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"},fieldModel:t}),!l&&(0,m.jsx)(i,{children:"dialog"===r?(0,m.jsx)("div",{style:{padding:`0 ${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px`},children:(0,m.jsx)(b.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})}):(0,m.jsx)(b.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})})]})}function hO(e){let{fieldNames:t,onClick:l,disabled:o}=e,n=(0,f.useFlowContext)(),r=hC(n.collectionField,e.allowMultiple);return(0,i.useEffect)(()=>{n.model.selectedRows.value=e.value},[n.model.selectedRows,e.value]),uf({model:n.model,value:e.value,isMultiple:r,fieldNames:t,onChange:e.onChange}),(0,m.jsx)(b.Select,{...e,open:!1,onClick:e=>{o||l(e)},value:hI(e.value,t,r),labelRender:e=>(0,m.jsx)(uv,{option:e,fieldNames:t}),labelInValue:!0,mode:r?"multiple":void 0,options:e.value,allowClear:!0,onChange:(e,t)=>{n.model.selectedRows.value=t,n.model.change()},showSearch:!1,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(b.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(b.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]})})}class hB extends rv.o{get collectionField(){return this.context.collectionField}render(){return(0,m.jsx)(hO,{...this.props})}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}})}onMount(){this.onClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})}}set onClick(e){this.setProps({onClick:e})}change(){this.props.onChange(this.selectedRows.value)}constructor(...e){super(...e),this.selectedRows=f.observable.ref([])}}hB.registerFlow({key:"popupSettings",title:(0,f.tExpr)("Selector setting"),on:{eventName:"openView"},sort:300,steps:{openView:{title:(0,f.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,f.tExpr)("Open mode"),enum:[{label:(0,f.tExpr)("Drawer"),value:"drawer"},{label:(0,f.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,f.tExpr)("Popup size"),enum:[{label:(0,f.tExpr)("Small"),value:"small"},{label:(0,f.tExpr)("Medium"),value:"medium"},{label:(0,f.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i,r;let{onChange:a}=e.inputArgs,s=hC(e.collectionField,e.model.props.allowMultiple),d={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},u=e.inputArgs.mode||t.mode||"drawer",c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,h=(null==(o=e.item)?void 0:o.value)??e.record,f=h?null==p||null==(n=p.getFilterByTK)?void 0:n.call(p,h):void 0,g=null==(i=e.collectionField)?void 0:i.resourceName;e.viewer.open({type:u,width:d[u][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(r=e.collectionField)?void 0:r.target,...g&&null!=f?{associationName:g,sourceId:f}:{},collectionField:e.collectionField,...hE(e,{currentItemValue:e.inputArgs.currentItemValue??{}}),rowSelectionProps:{type:s?"checkbox":"radio",defaultSelectedRows:()=>hP(e.model.props.value,s),renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=e.model.selectBlockModel.findSubModel("items",e=>e);if(s){o.resource.setSelectedRows(l);let t=[...e.model.props.value||[],...l].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));e.model.selectedRows.value=t}else{var n,i;e.model.selectedRows.value=null==l?void 0:l[0],a(e.model.selectedRows.value),null==(n=(i=e.model)._closeView)||n.call(i)}}}},content:()=>(0,m.jsx)(hN,{model:e.model,toOne:!s}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===u?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),hB.registerFlow({key:"recordPickerSettings",title:(0,f.tExpr)("RecordPicker settings"),sort:200,steps:{init:{handler(e){let{target:t,dataSourceKey:l}=e.model.collectionField,o=e.createResource(f.MultiRecordResource);o.setDataSourceKey(l),o.setResourceName(t),e.model.resource=o}},fieldNames:{use:"titleField"},allowMultiple:{title:(0,f.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!hC(e.collectionField,!0),defaultParams:e=>({allowMultiple:hC(e.collectionField,!0)}),afterParamsSave(e,t,l){hL(e,t,l)},handler(e,t){hL(e,t)}}}}),hB.define({label:(0,f.tExpr)("Popup select")}),f.EditableItemModel.bindModelToInterface("RecordPickerFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{order:20});let hV="subTableColumn";function hH(e){var t,l;return(null==e||null==(l=e.model)||null==(t=l.constructor)?void 0:t.fieldComponentContext)===hV}let hq=e=>{let{model:t}=e;return i.default.useEffect(()=>{var e;let l=null==t||null==(e=t.flowEngine)?void 0:e.emitter;if(l)return l.emitAsync("model:mounted",{uid:null==t?void 0:t.uid,model:t}),()=>{var e;l.emitAsync("model:unmounted",{uid:null==t?void 0:t.uid,model:t}),null==t||null==(e=t.dispose)||e.call(t)}},[t]),null};function h$(e){let{targetModel:t}=e,l=t.context.t,o=t,n=o.context.collectionField.collection,r=n.dataSource,a=o.context.collectionField.name,s=(0,i.useMemo)(()=>{let e=`${l(r.displayName||r.key)} > `,t=n?`${l(n.title)||n.name||n.tableName} > `:"";return`${e}${t}${a}`},[n,r.displayName,r.key,a,l]),{actionName:d}=o.forbidden||{},u=(0,i.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:s,actionName:l((0,g.capitalize)(d))}).replaceAll(">",">"),[d,s,l]);return(0,m.jsx)(b.Tooltip,{title:u,children:(0,m.jsx)(eV.LockOutlined,{style:{opacity:"0.3"}})})}let hz=(0,f.observer)(e=>{let{model:t,params:{fieldPath:l,index:o},defaultValue:n,disabled:r,...a}=e,s=(0,f.useFlowEngine)(),d=(0,i.useRef)(null),u=t.subModels.readPrettyField,c=null==u?void 0:u.createFork({},`${o}`);null==c||c.setProps({value:n});let p=e=>{let{model:t,onChange:l,...o}=e,n=(0,i.useMemo)(()=>(0,g.debounce)(e=>{l&&l(e)},200),[l]);return(0,m.jsx)(f.FieldModelRenderer,{model:t,...o,onChange:n})},h=async e=>{if(!r){e.preventDefault(),e.stopPropagation();try{await s.context.viewer.open({type:"popover",target:e.target,placement:"rightTop",styles:{body:{minWidth:400}},content:e=>(0,m.jsx)(p,{model:t,value:n,...a})})}catch(e){console.log(e)}}},v=t.context.collectionField,y=(0,i.useMemo)(()=>{if(!["textarea","richText","json","markdown","vditor"].includes(v.interface))return(0,m.jsxs)(b.Space,{children:[(0,m.jsx)(f.FlowModelRenderer,{model:c,uid:null==c?void 0:c.uid})," ",(0,m.jsx)(eV.EditOutlined,{className:"edit-icon"})]});{let e="json"===v.interface&&n?JSON.stringify(n,null,2):n??"";return(0,m.jsx)(b.Input,{value:e,disabled:r,style:{width:"100%"}})}},[v.interface,n,r,c]);return(0,m.jsx)("div",{ref:d,onClick:h,style:{display:"flex",alignItems:"center",whiteSpace:"nowrap",minHeight:25,width:"100%",maxHeight:300,overflowY:"auto",cursor:"pointer"},children:(0,m.jsx)("span",{style:{pointerEvents:"none",display:"block",width:"100%"},children:y})})}),hU=e=>["RadioGroupFieldModel","CheckboxGroupFieldModel"].includes(e)?"SelectFieldModel":e,hK=["selectSettings","cascadeSelectSettings"];function hG(e){if(!e)return!1;try{let t=(0,f.extractUsedVariablePaths)(e)||{};return["item","formValues"].some(e=>Object.prototype.hasOwnProperty.call(t,e))}catch{return!1}}function hW(e){return hK.some(t=>{var l;let o=null==e||null==(l=e.getStepParams)?void 0:l.call(e,t,"dataScope");return hG(null==o?void 0:o.filter)})}let hJ=i.default.memo(f.FieldModelRenderer,(e,t)=>e.value===t.value&&e.model===t.model);function hX(e){if(!Array.isArray(e)||!e.length)return null;let t=[];for(let l of e){if("string"!=typeof l)continue;let[e,o]=l.split(":"),n=Number(o);e&&Number.isFinite(n)&&t.push(e,n)}return t.length?t:null}function hQ(e,t,l){var o;let n=hX(t),i=n?null==e||null==(o=e.getFieldValue)?void 0:o.call(e,n):void 0;return void 0===i?l:i}function hZ(e,t,l,o){let n=hX(o);return(null==n?void 0:n.length)?[...n,l]:[...e,t,l]}function h0(e){return!!Array.isArray(e)||!!e&&"object"==typeof e&&!("target"in e)}function h1(e){var t,l;return!!(null==e||null==(t=e.props)?void 0:t.readPretty)||(null==e||null==(l=e.props)?void 0:l.pattern)==="readPretty"}function h2(e){var t,l;return h1(e)||(null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"subTableColumnSettings","pattern"))?void 0:t.pattern)==="readPretty"}function h5(e){var t,l,o,n,i,r,a,s,d;return(null==e||null==(t=e.props)?void 0:t.titleField)||(null==e||null==(n=e.subModels)||null==(o=n.field)||null==(l=o.props)?void 0:l.titleField)||(null==e||null==(s=e.subModels)||null==(a=s.field)||null==(r=a.props)||null==(i=r.fieldNames)?void 0:i.label)||(null==e||null==(d=e.collectionField)?void 0:d.targetCollectionTitleFieldName)}function h8(e,t){var l,o,n,i;let r={value:t},a=h5(e),s=(null==e||null==(l=e.props)?void 0:l.fieldNames)||(null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.props)?void 0:o.fieldNames);return a&&(r.titleField=a),s&&(r.fieldNames=s),r}let h4=i.default.memo(e=>{let{model:t,onChange:l,value:o,commitOnChange:n,...r}=e,a=i.default.useRef(null==e?void 0:e.value);(0,i.useEffect)(()=>{a.current=o},[o]);let s=i.default.useCallback(e=>{a.current=e,(n||h0(e))&&(null==l||l(e))},[n,l]),d=i.default.useCallback(()=>{null==l||l(a.current)},[l]);return(0,m.jsx)("div",{onBlur:d,children:(0,m.jsx)(hJ,{...r,value:o,model:t,onChange:s,onChangeComplete:()=>{null==l||l(a.current)}})})}),h3=i.default.memo(e=>{let{value:t,record:l,rowIdx:o,id:n,parent:r,parentFieldIndex:a,rowFork:s,width:d,commitOnChange:u}=e,c=null==l?void 0:l.__is_new__;return(0,m.jsxs)("div",{style:{width:d,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:t,className:(0,A.css)`
|
|
1088
|
+
`,children:(0,m.jsx)(t,{})})})});return this.hidden&&!this.context.flowSettingsEnabled?null:{...this.props,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[l,(0,m.jsx)(b.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(eV.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):l,render:(e,t,l)=>{var o,n;let i=(null==(n=this.context.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,t))??(null==t?void 0:t.id)??l,r=hu(t),a=this.createFork({},String(i));a.__recordRenderSignature!==r&&(a.__recordRenderSignature=r,a.invalidateFlowCache("beforeRender"));let s=(0,f.createRecordMetaFactory)(()=>a.context.collection,a.context.t("Current record"),e=>{var t,l,o,n;let i=null==(t=e.collection)?void 0:t.name,r=null==(l=e.collection)?void 0:l.dataSourceKey,a=null==(n=e.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,e.record);if(i&&null!=a)return{collection:i,dataSourceKey:r,filterByTk:a}});return a.context.defineProperty("record",{get:()=>t,cache:!1,resolveOnServer:(0,f.createRecordResolveOnServerWithLocal)(()=>a.context.collection,()=>t),meta:s}),a.context.defineProperty("recordIndex",{get:()=>l}),(0,m.jsx)(f.MemoFlowModelRenderer,{model:a},`${a.uid}:${r}`)}}}render(){if(!this._RenderComponent){let e=this,t=()=>{let t=e.context.ref;return i.default.useEffect(()=>{let l=e;(null==t?void 0:t.current)&&(l.__mountedOnce?e.rerender():l.__mountedOnce=!0)},[null==t?void 0:t.current]),(0,m.jsx)("div",{style:{width:this.props.width-8,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,m.jsx)("span",{ref:t,style:{maxWidth:"100%"}})})};t.displayName="JSColumnModelStableRenderer",this._RenderComponent=t}return this._RenderComponent}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.applyFlow("tableColumnSettings")}}function hp(e){return()=>{var t,l,o,n,i;let r=e.valueAccessor();return{index:null==(t=e.indexAccessor)?void 0:t.call(e),length:null==(l=e.lengthAccessor)?void 0:l.call(e),__is_new__:(null==(o=e.isNewAccessor)?void 0:o.call(e))??(null==r?void 0:r.__is_new__),__is_stored__:(null==(n=e.isStoredAccessor)?void 0:n.call(e))??(null==r?void 0:r.__is_stored__),value:r,parentItem:null==(i=e.parentItemAccessor)?void 0:i.call(e)}}}function hm(e){return{index:void 0,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:void 0}}function hh(e,t){let l=Array.isArray(t)?t.length>0&&t.every(t=>(null==e?void 0:e[t])!=null):!!t&&(null==e?void 0:e[t])!=null,o=!!(null==e?void 0:e.__is_new__)||!l,n=!!(null==e?void 0:e.__is_stored__)||!o&&l;return{record:e,hasPrimaryKey:l,isNew:o,isStored:n}}function hf(e,t,l){let o="string"==typeof(null==t?void 0:t.title)&&t.title||"string"==typeof(null==t?void 0:t.name)&&t.name||l,n="string"==typeof o&&o?e(o):"";return n?`${e("Current item")}(${n})`:e("Current item")}function hg(e){return{parentPropertiesAccessor:t=>{var l,o,n,i;return(null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.item)?void 0:l.value)??(null==(i=e.fallbackParentPropertiesAccessor)?void 0:i.call(e,t))},parentItemMetaAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.meta},parentItemResolverAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.resolveOnServer}}}function hv(e){return{parentPropertiesAccessor:()=>{var t,l;return null==e||null==(l=e())||null==(t=l.parentItem)?void 0:t.value},parentItemMetaAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemMeta},parentItemResolverAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemResolver}}}function hy(e,t){if(!e||"object"!=typeof e)return{item:t};let l=Object.create(e);return Object.defineProperty(l,"item",{value:t,configurable:!0,enumerable:!0,writable:!1}),l}async function h_(e){return e?"function"==typeof e?await e()||null:e:null}function hb(e){let{t,title:l,showIndex:o,showParentIndex:n,disableValueBranch:i,valueBranchDisabledReason:r,collectionAccessor:a,propertiesAccessor:s,parentCollectionAccessor:d,parentPropertiesAccessor:u,parentItemMetaAccessor:c}=e,p=(0,f.createAssociationAwareObjectMetaFactory)(a,l,s),m=d?(0,f.createAssociationAwareObjectMetaFactory)(d,l,e=>{var t,l;return(null==u?void 0:u(e))??(null==e||null==(l=e.item)||null==(t=l.parentItem)?void 0:t.value)}):null,h=async()=>{var e,a;let s=await p();if(!s)return null;let d=await h_(null==c?void 0:c()),u=m?await m():null,h=s.buildVariablesParams,f=d?d.buildVariablesParams:null==u?void 0:u.buildVariablesParams,g=()=>({type:"number",title:t("Index (starts from 0)")}),v=()=>({type:"number",title:t("Total count")}),y={};if(!1!==o&&(y.index=g(),y.length=v()),y.value={...s,title:t("Attributes"),...i?{disabled:!0,disabledReason:r||t("Attributes are unavailable before selecting a record")}:{}},d)y.parentItem={...d,title:(null==(e=d.title)?void 0:e.replace(t("Current item"),t("Parent item")))||t("Parent item")};else{let e={};!1!==n&&(e.index=g(),e.length=v()),e.value=u?{...u,title:t("Attributes")}:{type:"object",title:t("Attributes")},y.parentItem={type:"object",title:(null==d||null==(a=d.title)?void 0:a.replace(t("Current item"),t("Parent item")))||t("Parent item"),properties:e}}return{type:"object",title:l,properties:y,buildVariablesParams:async e=>{let t={};if(!i&&"function"==typeof h){let l=await h(e);l&&"object"==typeof l&&Object.keys(l).length&&(t.value=l)}if("function"==typeof f){var l;let o=await f(hy(e,null==e||null==(l=e.item)?void 0:l.parentItem));o&&"object"==typeof o&&Object.keys(o).length&&(t.parentItem=d?o:{value:o})}return t}}};return h.title=l,h}function hx(e){let t=(0,f.createAssociationSubpathResolver)(e.collectionAccessor,e.propertiesAccessor),l="function"==typeof e.parentCollectionAccessor?(0,f.createAssociationSubpathResolver)(e.parentCollectionAccessor,e.parentPropertiesAccessor):null;return o=>{let n=String(o||"");if(!n||"value"===n)return!1;if(n.startsWith("value."))return!e.disableValueBranch&&t(n.slice(6));if("parentItem"===n)return!1;if(n.startsWith("parentItem.")){var i;let t=n.slice(11),o=null==(i=e.parentItemResolverAccessor)?void 0:i.call(e);if("function"==typeof o)return o(t);if("value"===t)return!1;if(t.startsWith("value."))return!!l&&l(t.slice(6))}return!1}}function hM(e){return{meta:hb(e.metaFactoryOptions),resolveOnServer:hx(e.resolverOptions)}}function hw(e){var t,l,o;let n=null==(t=e.parentAccessors)?void 0:t.parentPropertiesAccessor,i=!1===e.useParentItemMeta||null==(l=e.parentAccessors)?void 0:l.parentItemMetaAccessor,r=!1===e.useParentItemResolver||null==(o=e.parentAccessors)?void 0:o.parentItemResolverAccessor;return hS({metaFactoryOptions:{t:e.t,title:e.title,showIndex:e.showIndex,showParentIndex:e.showParentIndex,disableValueBranch:e.disableValueBranch,valueBranchDisabledReason:e.valueBranchDisabledReason,collectionAccessor:e.collectionAccessor,propertiesAccessor:e.propertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemMetaAccessor:i},resolverOptions:{collectionAccessor:e.collectionAccessor,disableValueBranch:e.disableValueBranch,propertiesAccessor:e.resolverPropertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemResolverAccessor:r}})}function hS(e){return{cache:!1,...hM(e),serverOnlyWhenContextParams:!0}}hc.define({label:(0,f.tExpr)("JS column"),createModelOptions:{stepParams:{tableColumnSettings:{title:{title:(0,f.tExpr)("JS column")}}}}}),hc.registerFlow({key:"jsSettings",title:(0,f.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,f.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":sZ.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:()=>({version:"v2",code:"ctx.render('<span class=\"nb-js-column\">JS column</span>');"}),async handler(e,t){var l,o;let{code:n,version:i}=s0(e,t),r=!!(null==(l=e.inputArgs)?void 0:l.preview),a=(null==(o=e.model)?void 0:o.isFork)===!0;if(r&&!a){let t=e.model,l=Array.from((null==t?void 0:t.forks)||[]).filter(e=>{var t,l;return!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)});if(l.length>0){let e=(await Promise.allSettled(l.map(e=>e.applyFlow("jsSettings",{preview:{code:n,version:i}})))).find(e=>"rejected"===e.status);if(e)throw e.reason;return}}e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>{var l;return new f.ElementProxy((null==(l=e.ref)?void 0:l.current)||t)},cache:!1}),await e.runjs(n,void 0,{version:i})})}}}});let hk=["belongsToMany","hasMany","belongsToArray"];function hF(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function hC(e,t){return!!(null==e?void 0:e.type)&&hk.includes(e.type)&&!1!==t}function hA(e,t,l){return hC(e,t)!==hC(e,l)}function hP(e,t){return e?t?Array.isArray(e)?e:[e]:Array.isArray(e)?e.slice(0,1):[e]:[]}function hT(e){return e?[]:void 0}function hj(){}function hI(e,t,l){if(!e)return hT(l);let o=e=>({...e,label:e[t.label],value:e[t.value]});if(!l){let t=Array.isArray(e)?e[0]:e;return hF(t)?o(t):void 0}return Array.isArray(e)?e.filter(hF).map(o):[]}function hL(e,t,l){let o=l&&hA(e.collectionField,null==l?void 0:l.allowMultiple,null==t?void 0:t.allowMultiple),n=hj();if(e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple,...o?{value:n}:{}}),o){var i,r;e.model.selectedRows.value=n,null==(i=(r=e.model.props).onChange)||i.call(r,n)}}function hR(e){var t;let l=("function"==typeof(null==e?void 0:e.getFormValues)?e.getFormValues():void 0)??(null==e?void 0:e.formValues)??(null==e?void 0:e.record)??{},o=(null==e?void 0:e.item)??hm(l),n="function"==typeof(null==e?void 0:e.t)?e.t:e=>e,i=()=>{var t;return(null==e||null==(t=e.collectionField)?void 0:t.collection)??(null==e?void 0:e.collection)??null},r=()=>null==o?void 0:o.value,a=()=>{var e;return null==o||null==(e=o.parentItem)?void 0:e.value},s=hM({metaFactoryOptions:{t:n,title:n("Current item"),collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a,showParentIndex:!1},resolverOptions:{collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a}}),{meta:d=s.meta,resolveOnServer:u=s.resolveOnServer}=(null==e||null==(t=e.getPropertyOptions)?void 0:t.call(e,"item"))||{};return{parentItem:o,parentItemMeta:d,parentItemResolver:u}}function hD(e,t,l){var o;e&&l&&e.context.defineProperty("flowSettingsEnabled",{get:()=>l.context.flowSettingsEnabled,cache:!1});let n=(null==t||null==(o=t.view)?void 0:o.inputArgs)||{},i=n.collectionField,r="function"==typeof(null==t?void 0:t.t)?t.t:e=>e,a=(null==i?void 0:i.targetCollection)??(null==i?void 0:i.collection)??null,s=hv(()=>n),d=()=>n.currentItemValue??{},u=hw({t:r,title:hf(r,i),disableValueBranch:!0,valueBranchDisabledReason:r("Attributes are unavailable before selecting a record"),collectionAccessor:()=>a,propertiesAccessor:d,resolverPropertiesAccessor:d,parentCollectionAccessor:()=>(null==i?void 0:i.collection)??null,parentAccessors:s,useParentItemMeta:!1}),c=hp({valueAccessor:d,parentItemAccessor:()=>n.parentItem,isNewAccessor:()=>!0,isStoredAccessor:()=>!1});e.context.defineProperty("item",{get:c,...u})}function hE(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{parentItem:l,parentItemMeta:o,parentItemResolver:n}=hR(e),i=ud(e,e.inputArgs);return{...t.extraInputArgs||{},parentItem:l,parentItemMeta:o,parentItemResolver:n,currentItemValue:t.currentItemValue,openerUids:i}}function hY(e){let{options:t,fieldModel:l}=e,o=(0,f.useFlowViewContext)(),{data:n,loading:r}=(0,o7.useRequest)(async()=>{let e=await o.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:o,skipSave:!o.flowSettingsEnabled});return hD(e,o,l),e},{refreshDeps:[o,t]});return((0,i.useEffect)(()=>{if(n)return l&&(l.selectBlockModel=n),()=>{if(null==n?void 0:n.uid){var e,t;null==o||null==(t=o.engine)||null==(e=t.removeModelWithSubModels)||e.call(t,n.uid)}(null==l?void 0:l.selectBlockModel)===n&&(l.selectBlockModel=void 0)}},[null==o?void 0:o.engine,n,l]),!r&&(null==n?void 0:n.uid))?(0,m.jsx)(f.FlowModelRenderer,{model:n,fallback:(0,m.jsx)(ne,{style:{margin:16}})}):(0,m.jsx)(ne,{style:{margin:16}})}function hN(e){let{model:t,toOne:l=!1}=e,o=(0,f.useFlowContext)(),{Header:n,Footer:i,type:r}=o.view;return t._closeView=o.view.close,(0,m.jsxs)("div",{children:[(0,m.jsx)(n,{title:"dialog"===r?(0,m.jsx)("div",{style:{padding:`${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px 0`,marginBottom:-o.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:o.t("Select record")}):o.t("Select record")}),(0,m.jsx)(hY,{options:{parentId:o.view.inputArgs.parentId,subKey:"grid-block",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"},fieldModel:t}),!l&&(0,m.jsx)(i,{children:"dialog"===r?(0,m.jsx)("div",{style:{padding:`0 ${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px`},children:(0,m.jsx)(b.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})}):(0,m.jsx)(b.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})})]})}function hO(e){var t;let{fieldNames:l,onClick:o,disabled:n}=e,r=(0,f.useFlowContext)(),a=hC(r.collectionField,e.allowMultiple),s=us(l,null==(t=r.collectionField)?void 0:t.targetCollection);return(0,i.useEffect)(()=>{r.model.selectedRows.value=e.value},[r.model.selectedRows,e.value]),uf({model:r.model,value:e.value,isMultiple:a,fieldNames:s,onChange:e.onChange}),(0,m.jsx)(b.Select,{...e,fieldNames:s,open:!1,onClick:e=>{n||o(e)},value:hI(e.value,s,a),labelRender:e=>(0,m.jsx)(uv,{option:e,fieldNames:s}),labelInValue:!0,mode:a?"multiple":void 0,options:e.value,allowClear:!0,onChange:(e,t)=>{r.model.selectedRows.value=t,r.model.change()},showSearch:!1,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(b.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(b.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]})})}class hB extends rv.o{get collectionField(){return this.context.collectionField}render(){return(0,m.jsx)(hO,{...this.props})}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}})}onMount(){this.onClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})}}set onClick(e){this.setProps({onClick:e})}change(){this.props.onChange(this.selectedRows.value)}constructor(...e){super(...e),this.selectedRows=f.observable.ref([])}}hB.registerFlow({key:"popupSettings",title:(0,f.tExpr)("Selector setting"),on:{eventName:"openView"},sort:300,steps:{openView:{title:(0,f.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,f.tExpr)("Open mode"),enum:[{label:(0,f.tExpr)("Drawer"),value:"drawer"},{label:(0,f.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,f.tExpr)("Popup size"),enum:[{label:(0,f.tExpr)("Small"),value:"small"},{label:(0,f.tExpr)("Medium"),value:"medium"},{label:(0,f.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i,r;let{onChange:a}=e.inputArgs,s=hC(e.collectionField,e.model.props.allowMultiple),d={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},u=e.inputArgs.mode||t.mode||"drawer",c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,h=(null==(o=e.item)?void 0:o.value)??e.record,f=h?null==p||null==(n=p.getFilterByTK)?void 0:n.call(p,h):void 0,g=null==(i=e.collectionField)?void 0:i.resourceName;e.viewer.open({type:u,width:d[u][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(r=e.collectionField)?void 0:r.target,...g&&null!=f?{associationName:g,sourceId:f}:{},collectionField:e.collectionField,...hE(e,{currentItemValue:e.inputArgs.currentItemValue??{}}),rowSelectionProps:{type:s?"checkbox":"radio",defaultSelectedRows:()=>hP(e.model.props.value,s),renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=e.model.selectBlockModel.findSubModel("items",e=>e);if(s){o.resource.setSelectedRows(l);let t=[...e.model.props.value||[],...l].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));e.model.selectedRows.value=t}else{var n,i;e.model.selectedRows.value=null==l?void 0:l[0],a(e.model.selectedRows.value),null==(n=(i=e.model)._closeView)||n.call(i)}}}},content:()=>(0,m.jsx)(hN,{model:e.model,toOne:!s}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===u?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),hB.registerFlow({key:"recordPickerSettings",title:(0,f.tExpr)("RecordPicker settings"),sort:200,steps:{init:{handler(e){let{target:t,dataSourceKey:l}=e.model.collectionField,o=e.createResource(f.MultiRecordResource);o.setDataSourceKey(l),o.setResourceName(t),e.model.resource=o}},fieldNames:{use:"titleField"},allowMultiple:{title:(0,f.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!hC(e.collectionField,!0),defaultParams:e=>({allowMultiple:hC(e.collectionField,!0)}),afterParamsSave(e,t,l){hL(e,t,l)},handler(e,t){hL(e,t)}}}}),hB.define({label:(0,f.tExpr)("Popup select")}),f.EditableItemModel.bindModelToInterface("RecordPickerFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{order:20});let hV="subTableColumn";function hH(e){var t,l;return(null==e||null==(l=e.model)||null==(t=l.constructor)?void 0:t.fieldComponentContext)===hV}let hq=e=>{let{model:t}=e;return i.default.useEffect(()=>{var e;let l=null==t||null==(e=t.flowEngine)?void 0:e.emitter;if(l)return l.emitAsync("model:mounted",{uid:null==t?void 0:t.uid,model:t}),()=>{var e;l.emitAsync("model:unmounted",{uid:null==t?void 0:t.uid,model:t}),null==t||null==(e=t.dispose)||e.call(t)}},[t]),null};function h$(e){let{targetModel:t}=e,l=t.context.t,o=t,n=o.context.collectionField.collection,r=n.dataSource,a=o.context.collectionField.name,s=(0,i.useMemo)(()=>{let e=`${l(r.displayName||r.key)} > `,t=n?`${l(n.title)||n.name||n.tableName} > `:"";return`${e}${t}${a}`},[n,r.displayName,r.key,a,l]),{actionName:d}=o.forbidden||{},u=(0,i.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:s,actionName:l((0,g.capitalize)(d))}).replaceAll(">",">"),[d,s,l]);return(0,m.jsx)(b.Tooltip,{title:u,children:(0,m.jsx)(eV.LockOutlined,{style:{opacity:"0.3"}})})}let hz=(0,f.observer)(e=>{let{model:t,params:{fieldPath:l,index:o},defaultValue:n,disabled:r,...a}=e,s=(0,f.useFlowEngine)(),d=(0,i.useRef)(null),u=t.subModels.readPrettyField,c=null==u?void 0:u.createFork({},`${o}`);null==c||c.setProps({value:n});let p=e=>{let{model:t,onChange:l,...o}=e,n=(0,i.useMemo)(()=>(0,g.debounce)(e=>{l&&l(e)},200),[l]);return(0,m.jsx)(f.FieldModelRenderer,{model:t,...o,onChange:n})},h=async e=>{if(!r){e.preventDefault(),e.stopPropagation();try{await s.context.viewer.open({type:"popover",target:e.target,placement:"rightTop",styles:{body:{minWidth:400}},content:e=>(0,m.jsx)(p,{model:t,value:n,...a})})}catch(e){console.log(e)}}},v=t.context.collectionField,y=(0,i.useMemo)(()=>{if(!["textarea","richText","json","markdown","vditor"].includes(v.interface))return(0,m.jsxs)(b.Space,{children:[(0,m.jsx)(f.FlowModelRenderer,{model:c,uid:null==c?void 0:c.uid})," ",(0,m.jsx)(eV.EditOutlined,{className:"edit-icon"})]});{let e="json"===v.interface&&n?JSON.stringify(n,null,2):n??"";return(0,m.jsx)(b.Input,{value:e,disabled:r,style:{width:"100%"}})}},[v.interface,n,r,c]);return(0,m.jsx)("div",{ref:d,onClick:h,style:{display:"flex",alignItems:"center",whiteSpace:"nowrap",minHeight:25,width:"100%",maxHeight:300,overflowY:"auto",cursor:"pointer"},children:(0,m.jsx)("span",{style:{pointerEvents:"none",display:"block",width:"100%"},children:y})})}),hU=e=>["RadioGroupFieldModel","CheckboxGroupFieldModel"].includes(e)?"SelectFieldModel":e,hK=["selectSettings","cascadeSelectSettings"];function hG(e){if(!e)return!1;try{let t=(0,f.extractUsedVariablePaths)(e)||{};return["item","formValues"].some(e=>Object.prototype.hasOwnProperty.call(t,e))}catch{return!1}}function hW(e){return hK.some(t=>{var l;let o=null==e||null==(l=e.getStepParams)?void 0:l.call(e,t,"dataScope");return hG(null==o?void 0:o.filter)})}let hJ=i.default.memo(f.FieldModelRenderer,(e,t)=>e.value===t.value&&e.model===t.model);function hX(e){if(!Array.isArray(e)||!e.length)return null;let t=[];for(let l of e){if("string"!=typeof l)continue;let[e,o]=l.split(":"),n=Number(o);e&&Number.isFinite(n)&&t.push(e,n)}return t.length?t:null}function hQ(e,t,l){var o;let n=hX(t),i=n?null==e||null==(o=e.getFieldValue)?void 0:o.call(e,n):void 0;return void 0===i?l:i}function hZ(e,t,l,o){let n=hX(o);return(null==n?void 0:n.length)?[...n,l]:[...e,t,l]}function h0(e){return!!Array.isArray(e)||!!e&&"object"==typeof e&&!("target"in e)}function h1(e){var t,l;return!!(null==e||null==(t=e.props)?void 0:t.readPretty)||(null==e||null==(l=e.props)?void 0:l.pattern)==="readPretty"}function h2(e){var t,l;return h1(e)||(null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"subTableColumnSettings","pattern"))?void 0:t.pattern)==="readPretty"}function h5(e){var t,l,o,n,i,r,a,s,d;return(null==e||null==(t=e.props)?void 0:t.titleField)||(null==e||null==(n=e.subModels)||null==(o=n.field)||null==(l=o.props)?void 0:l.titleField)||(null==e||null==(s=e.subModels)||null==(a=s.field)||null==(r=a.props)||null==(i=r.fieldNames)?void 0:i.label)||(null==e||null==(d=e.collectionField)?void 0:d.targetCollectionTitleFieldName)}function h8(e,t){var l,o,n,i;let r={value:t},a=h5(e),s=(null==e||null==(l=e.props)?void 0:l.fieldNames)||(null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.props)?void 0:o.fieldNames);return a&&(r.titleField=a),s&&(r.fieldNames=s),r}let h4=i.default.memo(e=>{let{model:t,onChange:l,value:o,commitOnChange:n,...r}=e,a=i.default.useRef(null==e?void 0:e.value);(0,i.useEffect)(()=>{a.current=o},[o]);let s=i.default.useCallback(e=>{a.current=e,(n||h0(e))&&(null==l||l(e))},[n,l]),d=i.default.useCallback(()=>{null==l||l(a.current)},[l]);return(0,m.jsx)("div",{onBlur:d,children:(0,m.jsx)(hJ,{...r,value:o,model:t,onChange:s,onChangeComplete:()=>{null==l||l(a.current)}})})}),h3=i.default.memo(e=>{let{value:t,record:l,rowIdx:o,id:n,parent:r,parentFieldIndex:a,rowFork:s,width:d,commitOnChange:u}=e,c=null==l?void 0:l.__is_new__;return(0,m.jsxs)("div",{style:{width:d,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:t,className:(0,A.css)`
|
|
1089
1089
|
.ant-form-item-explain-error {
|
|
1090
1090
|
white-space: break-spaces;
|
|
1091
1091
|
}
|
package/lib/index.js
CHANGED
|
@@ -1085,7 +1085,7 @@ ctx.render(\`
|
|
|
1085
1085
|
text-overflow: ellipsis;
|
|
1086
1086
|
white-space: nowrap;
|
|
1087
1087
|
width: calc(${this.props.width}px - 16px);
|
|
1088
|
-
`,children:(0,m.jsx)(t,{})})})});return this.hidden&&!this.context.flowSettingsEnabled?null:{...this.props,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[l,(0,m.jsx)(x.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(eV.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):l,render:(e,t,l)=>{var o,n;let i=(null==(n=this.context.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,t))??(null==t?void 0:t.id)??l,r=hu(t),a=this.createFork({},String(i));a.__recordRenderSignature!==r&&(a.__recordRenderSignature=r,a.invalidateFlowCache("beforeRender"));let s=(0,f.createRecordMetaFactory)(()=>a.context.collection,a.context.t("Current record"),e=>{var t,l,o,n;let i=null==(t=e.collection)?void 0:t.name,r=null==(l=e.collection)?void 0:l.dataSourceKey,a=null==(n=e.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,e.record);if(i&&null!=a)return{collection:i,dataSourceKey:r,filterByTk:a}});return a.context.defineProperty("record",{get:()=>t,cache:!1,resolveOnServer:(0,f.createRecordResolveOnServerWithLocal)(()=>a.context.collection,()=>t),meta:s}),a.context.defineProperty("recordIndex",{get:()=>l}),(0,m.jsx)(f.MemoFlowModelRenderer,{model:a},`${a.uid}:${r}`)}}}render(){if(!this._RenderComponent){let e=this,t=()=>{let t=e.context.ref;return i.default.useEffect(()=>{let l=e;(null==t?void 0:t.current)&&(l.__mountedOnce?e.rerender():l.__mountedOnce=!0)},[null==t?void 0:t.current]),(0,m.jsx)("div",{style:{width:this.props.width-8,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,m.jsx)("span",{ref:t,style:{maxWidth:"100%"}})})};t.displayName="JSColumnModelStableRenderer",this._RenderComponent=t}return this._RenderComponent}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.applyFlow("tableColumnSettings")}}function hp(e){return()=>{var t,l,o,n,i;let r=e.valueAccessor();return{index:null==(t=e.indexAccessor)?void 0:t.call(e),length:null==(l=e.lengthAccessor)?void 0:l.call(e),__is_new__:(null==(o=e.isNewAccessor)?void 0:o.call(e))??(null==r?void 0:r.__is_new__),__is_stored__:(null==(n=e.isStoredAccessor)?void 0:n.call(e))??(null==r?void 0:r.__is_stored__),value:r,parentItem:null==(i=e.parentItemAccessor)?void 0:i.call(e)}}}function hm(e){return{index:void 0,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:void 0}}function hh(e,t){let l=Array.isArray(t)?t.length>0&&t.every(t=>(null==e?void 0:e[t])!=null):!!t&&(null==e?void 0:e[t])!=null,o=!!(null==e?void 0:e.__is_new__)||!l,n=!!(null==e?void 0:e.__is_stored__)||!o&&l;return{record:e,hasPrimaryKey:l,isNew:o,isStored:n}}function hf(e,t,l){let o="string"==typeof(null==t?void 0:t.title)&&t.title||"string"==typeof(null==t?void 0:t.name)&&t.name||l,n="string"==typeof o&&o?e(o):"";return n?`${e("Current item")}(${n})`:e("Current item")}function hg(e){return{parentPropertiesAccessor:t=>{var l,o,n,i;return(null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.item)?void 0:l.value)??(null==(i=e.fallbackParentPropertiesAccessor)?void 0:i.call(e,t))},parentItemMetaAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.meta},parentItemResolverAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.resolveOnServer}}}function hv(e){return{parentPropertiesAccessor:()=>{var t,l;return null==e||null==(l=e())||null==(t=l.parentItem)?void 0:t.value},parentItemMetaAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemMeta},parentItemResolverAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemResolver}}}function hy(e,t){if(!e||"object"!=typeof e)return{item:t};let l=Object.create(e);return Object.defineProperty(l,"item",{value:t,configurable:!0,enumerable:!0,writable:!1}),l}async function hb(e){return e?"function"==typeof e?await e()||null:e:null}function hx(e){let{t,title:l,showIndex:o,showParentIndex:n,disableValueBranch:i,valueBranchDisabledReason:r,collectionAccessor:a,propertiesAccessor:s,parentCollectionAccessor:d,parentPropertiesAccessor:u,parentItemMetaAccessor:c}=e,p=(0,f.createAssociationAwareObjectMetaFactory)(a,l,s),m=d?(0,f.createAssociationAwareObjectMetaFactory)(d,l,e=>{var t,l;return(null==u?void 0:u(e))??(null==e||null==(l=e.item)||null==(t=l.parentItem)?void 0:t.value)}):null,h=async()=>{var e,a;let s=await p();if(!s)return null;let d=await hb(null==c?void 0:c()),u=m?await m():null,h=s.buildVariablesParams,f=d?d.buildVariablesParams:null==u?void 0:u.buildVariablesParams,g=()=>({type:"number",title:t("Index (starts from 0)")}),v=()=>({type:"number",title:t("Total count")}),y={};if(!1!==o&&(y.index=g(),y.length=v()),y.value={...s,title:t("Attributes"),...i?{disabled:!0,disabledReason:r||t("Attributes are unavailable before selecting a record")}:{}},d)y.parentItem={...d,title:(null==(e=d.title)?void 0:e.replace(t("Current item"),t("Parent item")))||t("Parent item")};else{let e={};!1!==n&&(e.index=g(),e.length=v()),e.value=u?{...u,title:t("Attributes")}:{type:"object",title:t("Attributes")},y.parentItem={type:"object",title:(null==d||null==(a=d.title)?void 0:a.replace(t("Current item"),t("Parent item")))||t("Parent item"),properties:e}}return{type:"object",title:l,properties:y,buildVariablesParams:async e=>{let t={};if(!i&&"function"==typeof h){let l=await h(e);l&&"object"==typeof l&&Object.keys(l).length&&(t.value=l)}if("function"==typeof f){var l;let o=await f(hy(e,null==e||null==(l=e.item)?void 0:l.parentItem));o&&"object"==typeof o&&Object.keys(o).length&&(t.parentItem=d?o:{value:o})}return t}}};return h.title=l,h}function hM(e){let t=(0,f.createAssociationSubpathResolver)(e.collectionAccessor,e.propertiesAccessor),l="function"==typeof e.parentCollectionAccessor?(0,f.createAssociationSubpathResolver)(e.parentCollectionAccessor,e.parentPropertiesAccessor):null;return o=>{let n=String(o||"");if(!n||"value"===n)return!1;if(n.startsWith("value."))return!e.disableValueBranch&&t(n.slice(6));if("parentItem"===n)return!1;if(n.startsWith("parentItem.")){var i;let t=n.slice(11),o=null==(i=e.parentItemResolverAccessor)?void 0:i.call(e);if("function"==typeof o)return o(t);if("value"===t)return!1;if(t.startsWith("value."))return!!l&&l(t.slice(6))}return!1}}function h_(e){return{meta:hx(e.metaFactoryOptions),resolveOnServer:hM(e.resolverOptions)}}function hS(e){var t,l,o;let n=null==(t=e.parentAccessors)?void 0:t.parentPropertiesAccessor,i=!1===e.useParentItemMeta||null==(l=e.parentAccessors)?void 0:l.parentItemMetaAccessor,r=!1===e.useParentItemResolver||null==(o=e.parentAccessors)?void 0:o.parentItemResolverAccessor;return hw({metaFactoryOptions:{t:e.t,title:e.title,showIndex:e.showIndex,showParentIndex:e.showParentIndex,disableValueBranch:e.disableValueBranch,valueBranchDisabledReason:e.valueBranchDisabledReason,collectionAccessor:e.collectionAccessor,propertiesAccessor:e.propertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemMetaAccessor:i},resolverOptions:{collectionAccessor:e.collectionAccessor,disableValueBranch:e.disableValueBranch,propertiesAccessor:e.resolverPropertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemResolverAccessor:r}})}function hw(e){return{cache:!1,...h_(e),serverOnlyWhenContextParams:!0}}hc.define({label:(0,f.tExpr)("JS column"),createModelOptions:{stepParams:{tableColumnSettings:{title:{title:(0,f.tExpr)("JS column")}}}}}),hc.registerFlow({key:"jsSettings",title:(0,f.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,f.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":sZ.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:()=>({version:"v2",code:"ctx.render('<span class=\"nb-js-column\">JS column</span>');"}),async handler(e,t){var l,o;let{code:n,version:i}=s0(e,t),r=!!(null==(l=e.inputArgs)?void 0:l.preview),a=(null==(o=e.model)?void 0:o.isFork)===!0;if(r&&!a){let t=e.model,l=Array.from((null==t?void 0:t.forks)||[]).filter(e=>{var t,l;return!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)});if(l.length>0){let e=(await Promise.allSettled(l.map(e=>e.applyFlow("jsSettings",{preview:{code:n,version:i}})))).find(e=>"rejected"===e.status);if(e)throw e.reason;return}}e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>{var l;return new f.ElementProxy((null==(l=e.ref)?void 0:l.current)||t)},cache:!1}),await e.runjs(n,void 0,{version:i})})}}}});let hF=["belongsToMany","hasMany","belongsToArray"];function hk(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function hC(e,t){return!!(null==e?void 0:e.type)&&hF.includes(e.type)&&!1!==t}function hA(e,t,l){return hC(e,t)!==hC(e,l)}function hP(e,t){return e?t?Array.isArray(e)?e:[e]:Array.isArray(e)?e.slice(0,1):[e]:[]}function hT(e){return e?[]:void 0}function hI(){}function hL(e,t,l){if(!e)return hT(l);let o=e=>({...e,label:e[t.label],value:e[t.value]});if(!l){let t=Array.isArray(e)?e[0]:e;return hk(t)?o(t):void 0}return Array.isArray(e)?e.filter(hk).map(o):[]}function hR(e,t,l){let o=l&&hA(e.collectionField,null==l?void 0:l.allowMultiple,null==t?void 0:t.allowMultiple),n=hI();if(e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple,...o?{value:n}:{}}),o){var i,r;e.model.selectedRows.value=n,null==(i=(r=e.model.props).onChange)||i.call(r,n)}}function hj(e){var t;let l=("function"==typeof(null==e?void 0:e.getFormValues)?e.getFormValues():void 0)??(null==e?void 0:e.formValues)??(null==e?void 0:e.record)??{},o=(null==e?void 0:e.item)??hm(l),n="function"==typeof(null==e?void 0:e.t)?e.t:e=>e,i=()=>{var t;return(null==e||null==(t=e.collectionField)?void 0:t.collection)??(null==e?void 0:e.collection)??null},r=()=>null==o?void 0:o.value,a=()=>{var e;return null==o||null==(e=o.parentItem)?void 0:e.value},s=h_({metaFactoryOptions:{t:n,title:n("Current item"),collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a,showParentIndex:!1},resolverOptions:{collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a}}),{meta:d=s.meta,resolveOnServer:u=s.resolveOnServer}=(null==e||null==(t=e.getPropertyOptions)?void 0:t.call(e,"item"))||{};return{parentItem:o,parentItemMeta:d,parentItemResolver:u}}function hD(e,t,l){var o;e&&l&&e.context.defineProperty("flowSettingsEnabled",{get:()=>l.context.flowSettingsEnabled,cache:!1});let n=(null==t||null==(o=t.view)?void 0:o.inputArgs)||{},i=n.collectionField,r="function"==typeof(null==t?void 0:t.t)?t.t:e=>e,a=(null==i?void 0:i.targetCollection)??(null==i?void 0:i.collection)??null,s=hv(()=>n),d=()=>n.currentItemValue??{},u=hS({t:r,title:hf(r,i),disableValueBranch:!0,valueBranchDisabledReason:r("Attributes are unavailable before selecting a record"),collectionAccessor:()=>a,propertiesAccessor:d,resolverPropertiesAccessor:d,parentCollectionAccessor:()=>(null==i?void 0:i.collection)??null,parentAccessors:s,useParentItemMeta:!1}),c=hp({valueAccessor:d,parentItemAccessor:()=>n.parentItem,isNewAccessor:()=>!0,isStoredAccessor:()=>!1});e.context.defineProperty("item",{get:c,...u})}function hE(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{parentItem:l,parentItemMeta:o,parentItemResolver:n}=hj(e),i=ud(e,e.inputArgs);return{...t.extraInputArgs||{},parentItem:l,parentItemMeta:o,parentItemResolver:n,currentItemValue:t.currentItemValue,openerUids:i}}function hY(e){let{options:t,fieldModel:l}=e,o=(0,f.useFlowViewContext)(),{data:n,loading:r}=(0,o7.useRequest)(async()=>{let e=await o.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:o,skipSave:!o.flowSettingsEnabled});return hD(e,o,l),e},{refreshDeps:[o,t]});return((0,i.useEffect)(()=>{if(n)return l&&(l.selectBlockModel=n),()=>{if(null==n?void 0:n.uid){var e,t;null==o||null==(t=o.engine)||null==(e=t.removeModelWithSubModels)||e.call(t,n.uid)}(null==l?void 0:l.selectBlockModel)===n&&(l.selectBlockModel=void 0)}},[null==o?void 0:o.engine,n,l]),!r&&(null==n?void 0:n.uid))?(0,m.jsx)(f.FlowModelRenderer,{model:n,fallback:(0,m.jsx)(ne,{style:{margin:16}})}):(0,m.jsx)(ne,{style:{margin:16}})}function hN(e){let{model:t,toOne:l=!1}=e,o=(0,f.useFlowContext)(),{Header:n,Footer:i,type:r}=o.view;return t._closeView=o.view.close,(0,m.jsxs)("div",{children:[(0,m.jsx)(n,{title:"dialog"===r?(0,m.jsx)("div",{style:{padding:`${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px 0`,marginBottom:-o.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:o.t("Select record")}):o.t("Select record")}),(0,m.jsx)(hY,{options:{parentId:o.view.inputArgs.parentId,subKey:"grid-block",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"},fieldModel:t}),!l&&(0,m.jsx)(i,{children:"dialog"===r?(0,m.jsx)("div",{style:{padding:`0 ${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px`},children:(0,m.jsx)(x.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})}):(0,m.jsx)(x.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})})]})}function hO(e){let{fieldNames:t,onClick:l,disabled:o}=e,n=(0,f.useFlowContext)(),r=hC(n.collectionField,e.allowMultiple);return(0,i.useEffect)(()=>{n.model.selectedRows.value=e.value},[n.model.selectedRows,e.value]),uf({model:n.model,value:e.value,isMultiple:r,fieldNames:t,onChange:e.onChange}),(0,m.jsx)(x.Select,{...e,open:!1,onClick:e=>{o||l(e)},value:hL(e.value,t,r),labelRender:e=>(0,m.jsx)(uv,{option:e,fieldNames:t}),labelInValue:!0,mode:r?"multiple":void 0,options:e.value,allowClear:!0,onChange:(e,t)=>{n.model.selectedRows.value=t,n.model.change()},showSearch:!1,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(x.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(x.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]})})}class hB extends rv.o{get collectionField(){return this.context.collectionField}render(){return(0,m.jsx)(hO,{...this.props})}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}})}onMount(){this.onClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})}}set onClick(e){this.setProps({onClick:e})}change(){this.props.onChange(this.selectedRows.value)}constructor(...e){super(...e),this.selectedRows=f.observable.ref([])}}hB.registerFlow({key:"popupSettings",title:(0,f.tExpr)("Selector setting"),on:{eventName:"openView"},sort:300,steps:{openView:{title:(0,f.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,f.tExpr)("Open mode"),enum:[{label:(0,f.tExpr)("Drawer"),value:"drawer"},{label:(0,f.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,f.tExpr)("Popup size"),enum:[{label:(0,f.tExpr)("Small"),value:"small"},{label:(0,f.tExpr)("Medium"),value:"medium"},{label:(0,f.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i,r;let{onChange:a}=e.inputArgs,s=hC(e.collectionField,e.model.props.allowMultiple),d={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},u=e.inputArgs.mode||t.mode||"drawer",c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,h=(null==(o=e.item)?void 0:o.value)??e.record,f=h?null==p||null==(n=p.getFilterByTK)?void 0:n.call(p,h):void 0,g=null==(i=e.collectionField)?void 0:i.resourceName;e.viewer.open({type:u,width:d[u][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(r=e.collectionField)?void 0:r.target,...g&&null!=f?{associationName:g,sourceId:f}:{},collectionField:e.collectionField,...hE(e,{currentItemValue:e.inputArgs.currentItemValue??{}}),rowSelectionProps:{type:s?"checkbox":"radio",defaultSelectedRows:()=>hP(e.model.props.value,s),renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=e.model.selectBlockModel.findSubModel("items",e=>e);if(s){o.resource.setSelectedRows(l);let t=[...e.model.props.value||[],...l].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));e.model.selectedRows.value=t}else{var n,i;e.model.selectedRows.value=null==l?void 0:l[0],a(e.model.selectedRows.value),null==(n=(i=e.model)._closeView)||n.call(i)}}}},content:()=>(0,m.jsx)(hN,{model:e.model,toOne:!s}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===u?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),hB.registerFlow({key:"recordPickerSettings",title:(0,f.tExpr)("RecordPicker settings"),sort:200,steps:{init:{handler(e){let{target:t,dataSourceKey:l}=e.model.collectionField,o=e.createResource(f.MultiRecordResource);o.setDataSourceKey(l),o.setResourceName(t),e.model.resource=o}},fieldNames:{use:"titleField"},allowMultiple:{title:(0,f.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!hC(e.collectionField,!0),defaultParams:e=>({allowMultiple:hC(e.collectionField,!0)}),afterParamsSave(e,t,l){hR(e,t,l)},handler(e,t){hR(e,t)}}}}),hB.define({label:(0,f.tExpr)("Popup select")}),f.EditableItemModel.bindModelToInterface("RecordPickerFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{order:20});let hV="subTableColumn";function hH(e){var t,l;return(null==e||null==(l=e.model)||null==(t=l.constructor)?void 0:t.fieldComponentContext)===hV}let hq=e=>{let{model:t}=e;return i.default.useEffect(()=>{var e;let l=null==t||null==(e=t.flowEngine)?void 0:e.emitter;if(l)return l.emitAsync("model:mounted",{uid:null==t?void 0:t.uid,model:t}),()=>{var e;l.emitAsync("model:unmounted",{uid:null==t?void 0:t.uid,model:t}),null==t||null==(e=t.dispose)||e.call(t)}},[t]),null};function h$(e){let{targetModel:t}=e,l=t.context.t,o=t,n=o.context.collectionField.collection,r=n.dataSource,a=o.context.collectionField.name,s=(0,i.useMemo)(()=>{let e=`${l(r.displayName||r.key)} > `,t=n?`${l(n.title)||n.name||n.tableName} > `:"";return`${e}${t}${a}`},[n,r.displayName,r.key,a,l]),{actionName:d}=o.forbidden||{},u=(0,i.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:s,actionName:l((0,g.capitalize)(d))}).replaceAll(">",">"),[d,s,l]);return(0,m.jsx)(x.Tooltip,{title:u,children:(0,m.jsx)(eV.LockOutlined,{style:{opacity:"0.3"}})})}let hU=(0,f.observer)(e=>{let{model:t,params:{fieldPath:l,index:o},defaultValue:n,disabled:r,...a}=e,s=(0,f.useFlowEngine)(),d=(0,i.useRef)(null),u=t.subModels.readPrettyField,c=null==u?void 0:u.createFork({},`${o}`);null==c||c.setProps({value:n});let p=e=>{let{model:t,onChange:l,...o}=e,n=(0,i.useMemo)(()=>(0,g.debounce)(e=>{l&&l(e)},200),[l]);return(0,m.jsx)(f.FieldModelRenderer,{model:t,...o,onChange:n})},h=async e=>{if(!r){e.preventDefault(),e.stopPropagation();try{await s.context.viewer.open({type:"popover",target:e.target,placement:"rightTop",styles:{body:{minWidth:400}},content:e=>(0,m.jsx)(p,{model:t,value:n,...a})})}catch(e){console.log(e)}}},v=t.context.collectionField,y=(0,i.useMemo)(()=>{if(!["textarea","richText","json","markdown","vditor"].includes(v.interface))return(0,m.jsxs)(x.Space,{children:[(0,m.jsx)(f.FlowModelRenderer,{model:c,uid:null==c?void 0:c.uid})," ",(0,m.jsx)(eV.EditOutlined,{className:"edit-icon"})]});{let e="json"===v.interface&&n?JSON.stringify(n,null,2):n??"";return(0,m.jsx)(x.Input,{value:e,disabled:r,style:{width:"100%"}})}},[v.interface,n,r,c]);return(0,m.jsx)("div",{ref:d,onClick:h,style:{display:"flex",alignItems:"center",whiteSpace:"nowrap",minHeight:25,width:"100%",maxHeight:300,overflowY:"auto",cursor:"pointer"},children:(0,m.jsx)("span",{style:{pointerEvents:"none",display:"block",width:"100%"},children:y})})}),hK=e=>["RadioGroupFieldModel","CheckboxGroupFieldModel"].includes(e)?"SelectFieldModel":e,hz=["selectSettings","cascadeSelectSettings"];function hG(e){if(!e)return!1;try{let t=(0,f.extractUsedVariablePaths)(e)||{};return["item","formValues"].some(e=>Object.prototype.hasOwnProperty.call(t,e))}catch{return!1}}function hW(e){return hz.some(t=>{var l;let o=null==e||null==(l=e.getStepParams)?void 0:l.call(e,t,"dataScope");return hG(null==o?void 0:o.filter)})}let hJ=i.default.memo(f.FieldModelRenderer,(e,t)=>e.value===t.value&&e.model===t.model);function hX(e){if(!Array.isArray(e)||!e.length)return null;let t=[];for(let l of e){if("string"!=typeof l)continue;let[e,o]=l.split(":"),n=Number(o);e&&Number.isFinite(n)&&t.push(e,n)}return t.length?t:null}function hQ(e,t,l){var o;let n=hX(t),i=n?null==e||null==(o=e.getFieldValue)?void 0:o.call(e,n):void 0;return void 0===i?l:i}function hZ(e,t,l,o){let n=hX(o);return(null==n?void 0:n.length)?[...n,l]:[...e,t,l]}function h0(e){return!!Array.isArray(e)||!!e&&"object"==typeof e&&!("target"in e)}function h1(e){var t,l;return!!(null==e||null==(t=e.props)?void 0:t.readPretty)||(null==e||null==(l=e.props)?void 0:l.pattern)==="readPretty"}function h2(e){var t,l;return h1(e)||(null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"subTableColumnSettings","pattern"))?void 0:t.pattern)==="readPretty"}function h5(e){var t,l,o,n,i,r,a,s,d;return(null==e||null==(t=e.props)?void 0:t.titleField)||(null==e||null==(n=e.subModels)||null==(o=n.field)||null==(l=o.props)?void 0:l.titleField)||(null==e||null==(s=e.subModels)||null==(a=s.field)||null==(r=a.props)||null==(i=r.fieldNames)?void 0:i.label)||(null==e||null==(d=e.collectionField)?void 0:d.targetCollectionTitleFieldName)}function h8(e,t){var l,o,n,i;let r={value:t},a=h5(e),s=(null==e||null==(l=e.props)?void 0:l.fieldNames)||(null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.props)?void 0:o.fieldNames);return a&&(r.titleField=a),s&&(r.fieldNames=s),r}let h4=i.default.memo(e=>{let{model:t,onChange:l,value:o,commitOnChange:n,...r}=e,a=i.default.useRef(null==e?void 0:e.value);(0,i.useEffect)(()=>{a.current=o},[o]);let s=i.default.useCallback(e=>{a.current=e,(n||h0(e))&&(null==l||l(e))},[n,l]),d=i.default.useCallback(()=>{null==l||l(a.current)},[l]);return(0,m.jsx)("div",{onBlur:d,children:(0,m.jsx)(hJ,{...r,value:o,model:t,onChange:s,onChangeComplete:()=>{null==l||l(a.current)}})})}),h3=i.default.memo(e=>{let{value:t,record:l,rowIdx:o,id:n,parent:r,parentFieldIndex:a,rowFork:s,width:d,commitOnChange:u}=e,c=null==l?void 0:l.__is_new__;return(0,m.jsxs)("div",{style:{width:d,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:t,className:(0,A.css)`
|
|
1088
|
+
`,children:(0,m.jsx)(t,{})})})});return this.hidden&&!this.context.flowSettingsEnabled?null:{...this.props,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[l,(0,m.jsx)(x.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(eV.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):l,render:(e,t,l)=>{var o,n;let i=(null==(n=this.context.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,t))??(null==t?void 0:t.id)??l,r=hu(t),a=this.createFork({},String(i));a.__recordRenderSignature!==r&&(a.__recordRenderSignature=r,a.invalidateFlowCache("beforeRender"));let s=(0,f.createRecordMetaFactory)(()=>a.context.collection,a.context.t("Current record"),e=>{var t,l,o,n;let i=null==(t=e.collection)?void 0:t.name,r=null==(l=e.collection)?void 0:l.dataSourceKey,a=null==(n=e.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,e.record);if(i&&null!=a)return{collection:i,dataSourceKey:r,filterByTk:a}});return a.context.defineProperty("record",{get:()=>t,cache:!1,resolveOnServer:(0,f.createRecordResolveOnServerWithLocal)(()=>a.context.collection,()=>t),meta:s}),a.context.defineProperty("recordIndex",{get:()=>l}),(0,m.jsx)(f.MemoFlowModelRenderer,{model:a},`${a.uid}:${r}`)}}}render(){if(!this._RenderComponent){let e=this,t=()=>{let t=e.context.ref;return i.default.useEffect(()=>{let l=e;(null==t?void 0:t.current)&&(l.__mountedOnce?e.rerender():l.__mountedOnce=!0)},[null==t?void 0:t.current]),(0,m.jsx)("div",{style:{width:this.props.width-8,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,m.jsx)("span",{ref:t,style:{maxWidth:"100%"}})})};t.displayName="JSColumnModelStableRenderer",this._RenderComponent=t}return this._RenderComponent}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.applyFlow("tableColumnSettings")}}function hp(e){return()=>{var t,l,o,n,i;let r=e.valueAccessor();return{index:null==(t=e.indexAccessor)?void 0:t.call(e),length:null==(l=e.lengthAccessor)?void 0:l.call(e),__is_new__:(null==(o=e.isNewAccessor)?void 0:o.call(e))??(null==r?void 0:r.__is_new__),__is_stored__:(null==(n=e.isStoredAccessor)?void 0:n.call(e))??(null==r?void 0:r.__is_stored__),value:r,parentItem:null==(i=e.parentItemAccessor)?void 0:i.call(e)}}}function hm(e){return{index:void 0,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:void 0}}function hh(e,t){let l=Array.isArray(t)?t.length>0&&t.every(t=>(null==e?void 0:e[t])!=null):!!t&&(null==e?void 0:e[t])!=null,o=!!(null==e?void 0:e.__is_new__)||!l,n=!!(null==e?void 0:e.__is_stored__)||!o&&l;return{record:e,hasPrimaryKey:l,isNew:o,isStored:n}}function hf(e,t,l){let o="string"==typeof(null==t?void 0:t.title)&&t.title||"string"==typeof(null==t?void 0:t.name)&&t.name||l,n="string"==typeof o&&o?e(o):"";return n?`${e("Current item")}(${n})`:e("Current item")}function hg(e){return{parentPropertiesAccessor:t=>{var l,o,n,i;return(null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.item)?void 0:l.value)??(null==(i=e.fallbackParentPropertiesAccessor)?void 0:i.call(e,t))},parentItemMetaAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.meta},parentItemResolverAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.resolveOnServer}}}function hv(e){return{parentPropertiesAccessor:()=>{var t,l;return null==e||null==(l=e())||null==(t=l.parentItem)?void 0:t.value},parentItemMetaAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemMeta},parentItemResolverAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemResolver}}}function hy(e,t){if(!e||"object"!=typeof e)return{item:t};let l=Object.create(e);return Object.defineProperty(l,"item",{value:t,configurable:!0,enumerable:!0,writable:!1}),l}async function hb(e){return e?"function"==typeof e?await e()||null:e:null}function hx(e){let{t,title:l,showIndex:o,showParentIndex:n,disableValueBranch:i,valueBranchDisabledReason:r,collectionAccessor:a,propertiesAccessor:s,parentCollectionAccessor:d,parentPropertiesAccessor:u,parentItemMetaAccessor:c}=e,p=(0,f.createAssociationAwareObjectMetaFactory)(a,l,s),m=d?(0,f.createAssociationAwareObjectMetaFactory)(d,l,e=>{var t,l;return(null==u?void 0:u(e))??(null==e||null==(l=e.item)||null==(t=l.parentItem)?void 0:t.value)}):null,h=async()=>{var e,a;let s=await p();if(!s)return null;let d=await hb(null==c?void 0:c()),u=m?await m():null,h=s.buildVariablesParams,f=d?d.buildVariablesParams:null==u?void 0:u.buildVariablesParams,g=()=>({type:"number",title:t("Index (starts from 0)")}),v=()=>({type:"number",title:t("Total count")}),y={};if(!1!==o&&(y.index=g(),y.length=v()),y.value={...s,title:t("Attributes"),...i?{disabled:!0,disabledReason:r||t("Attributes are unavailable before selecting a record")}:{}},d)y.parentItem={...d,title:(null==(e=d.title)?void 0:e.replace(t("Current item"),t("Parent item")))||t("Parent item")};else{let e={};!1!==n&&(e.index=g(),e.length=v()),e.value=u?{...u,title:t("Attributes")}:{type:"object",title:t("Attributes")},y.parentItem={type:"object",title:(null==d||null==(a=d.title)?void 0:a.replace(t("Current item"),t("Parent item")))||t("Parent item"),properties:e}}return{type:"object",title:l,properties:y,buildVariablesParams:async e=>{let t={};if(!i&&"function"==typeof h){let l=await h(e);l&&"object"==typeof l&&Object.keys(l).length&&(t.value=l)}if("function"==typeof f){var l;let o=await f(hy(e,null==e||null==(l=e.item)?void 0:l.parentItem));o&&"object"==typeof o&&Object.keys(o).length&&(t.parentItem=d?o:{value:o})}return t}}};return h.title=l,h}function hM(e){let t=(0,f.createAssociationSubpathResolver)(e.collectionAccessor,e.propertiesAccessor),l="function"==typeof e.parentCollectionAccessor?(0,f.createAssociationSubpathResolver)(e.parentCollectionAccessor,e.parentPropertiesAccessor):null;return o=>{let n=String(o||"");if(!n||"value"===n)return!1;if(n.startsWith("value."))return!e.disableValueBranch&&t(n.slice(6));if("parentItem"===n)return!1;if(n.startsWith("parentItem.")){var i;let t=n.slice(11),o=null==(i=e.parentItemResolverAccessor)?void 0:i.call(e);if("function"==typeof o)return o(t);if("value"===t)return!1;if(t.startsWith("value."))return!!l&&l(t.slice(6))}return!1}}function h_(e){return{meta:hx(e.metaFactoryOptions),resolveOnServer:hM(e.resolverOptions)}}function hS(e){var t,l,o;let n=null==(t=e.parentAccessors)?void 0:t.parentPropertiesAccessor,i=!1===e.useParentItemMeta||null==(l=e.parentAccessors)?void 0:l.parentItemMetaAccessor,r=!1===e.useParentItemResolver||null==(o=e.parentAccessors)?void 0:o.parentItemResolverAccessor;return hw({metaFactoryOptions:{t:e.t,title:e.title,showIndex:e.showIndex,showParentIndex:e.showParentIndex,disableValueBranch:e.disableValueBranch,valueBranchDisabledReason:e.valueBranchDisabledReason,collectionAccessor:e.collectionAccessor,propertiesAccessor:e.propertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemMetaAccessor:i},resolverOptions:{collectionAccessor:e.collectionAccessor,disableValueBranch:e.disableValueBranch,propertiesAccessor:e.resolverPropertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemResolverAccessor:r}})}function hw(e){return{cache:!1,...h_(e),serverOnlyWhenContextParams:!0}}hc.define({label:(0,f.tExpr)("JS column"),createModelOptions:{stepParams:{tableColumnSettings:{title:{title:(0,f.tExpr)("JS column")}}}}}),hc.registerFlow({key:"jsSettings",title:(0,f.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,f.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":sZ.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:()=>({version:"v2",code:"ctx.render('<span class=\"nb-js-column\">JS column</span>');"}),async handler(e,t){var l,o;let{code:n,version:i}=s0(e,t),r=!!(null==(l=e.inputArgs)?void 0:l.preview),a=(null==(o=e.model)?void 0:o.isFork)===!0;if(r&&!a){let t=e.model,l=Array.from((null==t?void 0:t.forks)||[]).filter(e=>{var t,l;return!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)});if(l.length>0){let e=(await Promise.allSettled(l.map(e=>e.applyFlow("jsSettings",{preview:{code:n,version:i}})))).find(e=>"rejected"===e.status);if(e)throw e.reason;return}}e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>{var l;return new f.ElementProxy((null==(l=e.ref)?void 0:l.current)||t)},cache:!1}),await e.runjs(n,void 0,{version:i})})}}}});let hF=["belongsToMany","hasMany","belongsToArray"];function hk(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function hC(e,t){return!!(null==e?void 0:e.type)&&hF.includes(e.type)&&!1!==t}function hA(e,t,l){return hC(e,t)!==hC(e,l)}function hP(e,t){return e?t?Array.isArray(e)?e:[e]:Array.isArray(e)?e.slice(0,1):[e]:[]}function hT(e){return e?[]:void 0}function hI(){}function hL(e,t,l){if(!e)return hT(l);let o=e=>({...e,label:e[t.label],value:e[t.value]});if(!l){let t=Array.isArray(e)?e[0]:e;return hk(t)?o(t):void 0}return Array.isArray(e)?e.filter(hk).map(o):[]}function hR(e,t,l){let o=l&&hA(e.collectionField,null==l?void 0:l.allowMultiple,null==t?void 0:t.allowMultiple),n=hI();if(e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple,...o?{value:n}:{}}),o){var i,r;e.model.selectedRows.value=n,null==(i=(r=e.model.props).onChange)||i.call(r,n)}}function hj(e){var t;let l=("function"==typeof(null==e?void 0:e.getFormValues)?e.getFormValues():void 0)??(null==e?void 0:e.formValues)??(null==e?void 0:e.record)??{},o=(null==e?void 0:e.item)??hm(l),n="function"==typeof(null==e?void 0:e.t)?e.t:e=>e,i=()=>{var t;return(null==e||null==(t=e.collectionField)?void 0:t.collection)??(null==e?void 0:e.collection)??null},r=()=>null==o?void 0:o.value,a=()=>{var e;return null==o||null==(e=o.parentItem)?void 0:e.value},s=h_({metaFactoryOptions:{t:n,title:n("Current item"),collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a,showParentIndex:!1},resolverOptions:{collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a}}),{meta:d=s.meta,resolveOnServer:u=s.resolveOnServer}=(null==e||null==(t=e.getPropertyOptions)?void 0:t.call(e,"item"))||{};return{parentItem:o,parentItemMeta:d,parentItemResolver:u}}function hD(e,t,l){var o;e&&l&&e.context.defineProperty("flowSettingsEnabled",{get:()=>l.context.flowSettingsEnabled,cache:!1});let n=(null==t||null==(o=t.view)?void 0:o.inputArgs)||{},i=n.collectionField,r="function"==typeof(null==t?void 0:t.t)?t.t:e=>e,a=(null==i?void 0:i.targetCollection)??(null==i?void 0:i.collection)??null,s=hv(()=>n),d=()=>n.currentItemValue??{},u=hS({t:r,title:hf(r,i),disableValueBranch:!0,valueBranchDisabledReason:r("Attributes are unavailable before selecting a record"),collectionAccessor:()=>a,propertiesAccessor:d,resolverPropertiesAccessor:d,parentCollectionAccessor:()=>(null==i?void 0:i.collection)??null,parentAccessors:s,useParentItemMeta:!1}),c=hp({valueAccessor:d,parentItemAccessor:()=>n.parentItem,isNewAccessor:()=>!0,isStoredAccessor:()=>!1});e.context.defineProperty("item",{get:c,...u})}function hE(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{parentItem:l,parentItemMeta:o,parentItemResolver:n}=hj(e),i=ud(e,e.inputArgs);return{...t.extraInputArgs||{},parentItem:l,parentItemMeta:o,parentItemResolver:n,currentItemValue:t.currentItemValue,openerUids:i}}function hY(e){let{options:t,fieldModel:l}=e,o=(0,f.useFlowViewContext)(),{data:n,loading:r}=(0,o7.useRequest)(async()=>{let e=await o.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:o,skipSave:!o.flowSettingsEnabled});return hD(e,o,l),e},{refreshDeps:[o,t]});return((0,i.useEffect)(()=>{if(n)return l&&(l.selectBlockModel=n),()=>{if(null==n?void 0:n.uid){var e,t;null==o||null==(t=o.engine)||null==(e=t.removeModelWithSubModels)||e.call(t,n.uid)}(null==l?void 0:l.selectBlockModel)===n&&(l.selectBlockModel=void 0)}},[null==o?void 0:o.engine,n,l]),!r&&(null==n?void 0:n.uid))?(0,m.jsx)(f.FlowModelRenderer,{model:n,fallback:(0,m.jsx)(ne,{style:{margin:16}})}):(0,m.jsx)(ne,{style:{margin:16}})}function hN(e){let{model:t,toOne:l=!1}=e,o=(0,f.useFlowContext)(),{Header:n,Footer:i,type:r}=o.view;return t._closeView=o.view.close,(0,m.jsxs)("div",{children:[(0,m.jsx)(n,{title:"dialog"===r?(0,m.jsx)("div",{style:{padding:`${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px 0`,marginBottom:-o.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:o.t("Select record")}):o.t("Select record")}),(0,m.jsx)(hY,{options:{parentId:o.view.inputArgs.parentId,subKey:"grid-block",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"},fieldModel:t}),!l&&(0,m.jsx)(i,{children:"dialog"===r?(0,m.jsx)("div",{style:{padding:`0 ${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px`},children:(0,m.jsx)(x.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})}):(0,m.jsx)(x.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})})]})}function hO(e){var t;let{fieldNames:l,onClick:o,disabled:n}=e,r=(0,f.useFlowContext)(),a=hC(r.collectionField,e.allowMultiple),s=us(l,null==(t=r.collectionField)?void 0:t.targetCollection);return(0,i.useEffect)(()=>{r.model.selectedRows.value=e.value},[r.model.selectedRows,e.value]),uf({model:r.model,value:e.value,isMultiple:a,fieldNames:s,onChange:e.onChange}),(0,m.jsx)(x.Select,{...e,fieldNames:s,open:!1,onClick:e=>{n||o(e)},value:hL(e.value,s,a),labelRender:e=>(0,m.jsx)(uv,{option:e,fieldNames:s}),labelInValue:!0,mode:a?"multiple":void 0,options:e.value,allowClear:!0,onChange:(e,t)=>{r.model.selectedRows.value=t,r.model.change()},showSearch:!1,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(x.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(x.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]})})}class hB extends rv.o{get collectionField(){return this.context.collectionField}render(){return(0,m.jsx)(hO,{...this.props})}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}})}onMount(){this.onClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})}}set onClick(e){this.setProps({onClick:e})}change(){this.props.onChange(this.selectedRows.value)}constructor(...e){super(...e),this.selectedRows=f.observable.ref([])}}hB.registerFlow({key:"popupSettings",title:(0,f.tExpr)("Selector setting"),on:{eventName:"openView"},sort:300,steps:{openView:{title:(0,f.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,f.tExpr)("Open mode"),enum:[{label:(0,f.tExpr)("Drawer"),value:"drawer"},{label:(0,f.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,f.tExpr)("Popup size"),enum:[{label:(0,f.tExpr)("Small"),value:"small"},{label:(0,f.tExpr)("Medium"),value:"medium"},{label:(0,f.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i,r;let{onChange:a}=e.inputArgs,s=hC(e.collectionField,e.model.props.allowMultiple),d={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},u=e.inputArgs.mode||t.mode||"drawer",c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,h=(null==(o=e.item)?void 0:o.value)??e.record,f=h?null==p||null==(n=p.getFilterByTK)?void 0:n.call(p,h):void 0,g=null==(i=e.collectionField)?void 0:i.resourceName;e.viewer.open({type:u,width:d[u][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(r=e.collectionField)?void 0:r.target,...g&&null!=f?{associationName:g,sourceId:f}:{},collectionField:e.collectionField,...hE(e,{currentItemValue:e.inputArgs.currentItemValue??{}}),rowSelectionProps:{type:s?"checkbox":"radio",defaultSelectedRows:()=>hP(e.model.props.value,s),renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=e.model.selectBlockModel.findSubModel("items",e=>e);if(s){o.resource.setSelectedRows(l);let t=[...e.model.props.value||[],...l].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));e.model.selectedRows.value=t}else{var n,i;e.model.selectedRows.value=null==l?void 0:l[0],a(e.model.selectedRows.value),null==(n=(i=e.model)._closeView)||n.call(i)}}}},content:()=>(0,m.jsx)(hN,{model:e.model,toOne:!s}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===u?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),hB.registerFlow({key:"recordPickerSettings",title:(0,f.tExpr)("RecordPicker settings"),sort:200,steps:{init:{handler(e){let{target:t,dataSourceKey:l}=e.model.collectionField,o=e.createResource(f.MultiRecordResource);o.setDataSourceKey(l),o.setResourceName(t),e.model.resource=o}},fieldNames:{use:"titleField"},allowMultiple:{title:(0,f.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!hC(e.collectionField,!0),defaultParams:e=>({allowMultiple:hC(e.collectionField,!0)}),afterParamsSave(e,t,l){hR(e,t,l)},handler(e,t){hR(e,t)}}}}),hB.define({label:(0,f.tExpr)("Popup select")}),f.EditableItemModel.bindModelToInterface("RecordPickerFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{order:20});let hV="subTableColumn";function hH(e){var t,l;return(null==e||null==(l=e.model)||null==(t=l.constructor)?void 0:t.fieldComponentContext)===hV}let hq=e=>{let{model:t}=e;return i.default.useEffect(()=>{var e;let l=null==t||null==(e=t.flowEngine)?void 0:e.emitter;if(l)return l.emitAsync("model:mounted",{uid:null==t?void 0:t.uid,model:t}),()=>{var e;l.emitAsync("model:unmounted",{uid:null==t?void 0:t.uid,model:t}),null==t||null==(e=t.dispose)||e.call(t)}},[t]),null};function h$(e){let{targetModel:t}=e,l=t.context.t,o=t,n=o.context.collectionField.collection,r=n.dataSource,a=o.context.collectionField.name,s=(0,i.useMemo)(()=>{let e=`${l(r.displayName||r.key)} > `,t=n?`${l(n.title)||n.name||n.tableName} > `:"";return`${e}${t}${a}`},[n,r.displayName,r.key,a,l]),{actionName:d}=o.forbidden||{},u=(0,i.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:s,actionName:l((0,g.capitalize)(d))}).replaceAll(">",">"),[d,s,l]);return(0,m.jsx)(x.Tooltip,{title:u,children:(0,m.jsx)(eV.LockOutlined,{style:{opacity:"0.3"}})})}let hU=(0,f.observer)(e=>{let{model:t,params:{fieldPath:l,index:o},defaultValue:n,disabled:r,...a}=e,s=(0,f.useFlowEngine)(),d=(0,i.useRef)(null),u=t.subModels.readPrettyField,c=null==u?void 0:u.createFork({},`${o}`);null==c||c.setProps({value:n});let p=e=>{let{model:t,onChange:l,...o}=e,n=(0,i.useMemo)(()=>(0,g.debounce)(e=>{l&&l(e)},200),[l]);return(0,m.jsx)(f.FieldModelRenderer,{model:t,...o,onChange:n})},h=async e=>{if(!r){e.preventDefault(),e.stopPropagation();try{await s.context.viewer.open({type:"popover",target:e.target,placement:"rightTop",styles:{body:{minWidth:400}},content:e=>(0,m.jsx)(p,{model:t,value:n,...a})})}catch(e){console.log(e)}}},v=t.context.collectionField,y=(0,i.useMemo)(()=>{if(!["textarea","richText","json","markdown","vditor"].includes(v.interface))return(0,m.jsxs)(x.Space,{children:[(0,m.jsx)(f.FlowModelRenderer,{model:c,uid:null==c?void 0:c.uid})," ",(0,m.jsx)(eV.EditOutlined,{className:"edit-icon"})]});{let e="json"===v.interface&&n?JSON.stringify(n,null,2):n??"";return(0,m.jsx)(x.Input,{value:e,disabled:r,style:{width:"100%"}})}},[v.interface,n,r,c]);return(0,m.jsx)("div",{ref:d,onClick:h,style:{display:"flex",alignItems:"center",whiteSpace:"nowrap",minHeight:25,width:"100%",maxHeight:300,overflowY:"auto",cursor:"pointer"},children:(0,m.jsx)("span",{style:{pointerEvents:"none",display:"block",width:"100%"},children:y})})}),hK=e=>["RadioGroupFieldModel","CheckboxGroupFieldModel"].includes(e)?"SelectFieldModel":e,hz=["selectSettings","cascadeSelectSettings"];function hG(e){if(!e)return!1;try{let t=(0,f.extractUsedVariablePaths)(e)||{};return["item","formValues"].some(e=>Object.prototype.hasOwnProperty.call(t,e))}catch{return!1}}function hW(e){return hz.some(t=>{var l;let o=null==e||null==(l=e.getStepParams)?void 0:l.call(e,t,"dataScope");return hG(null==o?void 0:o.filter)})}let hJ=i.default.memo(f.FieldModelRenderer,(e,t)=>e.value===t.value&&e.model===t.model);function hX(e){if(!Array.isArray(e)||!e.length)return null;let t=[];for(let l of e){if("string"!=typeof l)continue;let[e,o]=l.split(":"),n=Number(o);e&&Number.isFinite(n)&&t.push(e,n)}return t.length?t:null}function hQ(e,t,l){var o;let n=hX(t),i=n?null==e||null==(o=e.getFieldValue)?void 0:o.call(e,n):void 0;return void 0===i?l:i}function hZ(e,t,l,o){let n=hX(o);return(null==n?void 0:n.length)?[...n,l]:[...e,t,l]}function h0(e){return!!Array.isArray(e)||!!e&&"object"==typeof e&&!("target"in e)}function h1(e){var t,l;return!!(null==e||null==(t=e.props)?void 0:t.readPretty)||(null==e||null==(l=e.props)?void 0:l.pattern)==="readPretty"}function h2(e){var t,l;return h1(e)||(null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"subTableColumnSettings","pattern"))?void 0:t.pattern)==="readPretty"}function h5(e){var t,l,o,n,i,r,a,s,d;return(null==e||null==(t=e.props)?void 0:t.titleField)||(null==e||null==(n=e.subModels)||null==(o=n.field)||null==(l=o.props)?void 0:l.titleField)||(null==e||null==(s=e.subModels)||null==(a=s.field)||null==(r=a.props)||null==(i=r.fieldNames)?void 0:i.label)||(null==e||null==(d=e.collectionField)?void 0:d.targetCollectionTitleFieldName)}function h8(e,t){var l,o,n,i;let r={value:t},a=h5(e),s=(null==e||null==(l=e.props)?void 0:l.fieldNames)||(null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.props)?void 0:o.fieldNames);return a&&(r.titleField=a),s&&(r.fieldNames=s),r}let h4=i.default.memo(e=>{let{model:t,onChange:l,value:o,commitOnChange:n,...r}=e,a=i.default.useRef(null==e?void 0:e.value);(0,i.useEffect)(()=>{a.current=o},[o]);let s=i.default.useCallback(e=>{a.current=e,(n||h0(e))&&(null==l||l(e))},[n,l]),d=i.default.useCallback(()=>{null==l||l(a.current)},[l]);return(0,m.jsx)("div",{onBlur:d,children:(0,m.jsx)(hJ,{...r,value:o,model:t,onChange:s,onChangeComplete:()=>{null==l||l(a.current)}})})}),h3=i.default.memo(e=>{let{value:t,record:l,rowIdx:o,id:n,parent:r,parentFieldIndex:a,rowFork:s,width:d,commitOnChange:u}=e,c=null==l?void 0:l.__is_new__;return(0,m.jsxs)("div",{style:{width:d,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:t,className:(0,A.css)`
|
|
1089
1089
|
.ant-form-item-explain-error {
|
|
1090
1090
|
white-space: break-spaces;
|
|
1091
1091
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/client-v2",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.13",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"@formily/antd-v5": "1.2.3",
|
|
28
28
|
"@formily/react": "^2.2.27",
|
|
29
29
|
"@formily/shared": "^2.2.27",
|
|
30
|
-
"@nocobase/evaluators": "3.0.0-alpha.
|
|
31
|
-
"@nocobase/flow-engine": "3.0.0-alpha.
|
|
32
|
-
"@nocobase/sdk": "3.0.0-alpha.
|
|
33
|
-
"@nocobase/shared": "3.0.0-alpha.
|
|
34
|
-
"@nocobase/utils": "3.0.0-alpha.
|
|
30
|
+
"@nocobase/evaluators": "3.0.0-alpha.13",
|
|
31
|
+
"@nocobase/flow-engine": "3.0.0-alpha.13",
|
|
32
|
+
"@nocobase/sdk": "3.0.0-alpha.13",
|
|
33
|
+
"@nocobase/shared": "3.0.0-alpha.13",
|
|
34
|
+
"@nocobase/utils": "3.0.0-alpha.13",
|
|
35
35
|
"ahooks": "^3.7.2",
|
|
36
36
|
"antd": "5.24.2",
|
|
37
37
|
"antd-style": "3.7.1",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"react-i18next": "^11.15.1",
|
|
49
49
|
"react-router-dom": "^6.30.1"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "15ca2a363a093540a71bcd2233e6db6b01455e50"
|
|
52
52
|
}
|
|
@@ -35,6 +35,7 @@ import {
|
|
|
35
35
|
import {
|
|
36
36
|
buildOpenerUids,
|
|
37
37
|
LabelByField,
|
|
38
|
+
normalizeAssociationFieldNames,
|
|
38
39
|
type AssociationFieldNames,
|
|
39
40
|
useAssociationValueHydration,
|
|
40
41
|
} from './recordSelectShared';
|
|
@@ -331,6 +332,7 @@ function RecordPickerField(props) {
|
|
|
331
332
|
const { fieldNames, onClick, disabled } = props;
|
|
332
333
|
const ctx = useFlowContext();
|
|
333
334
|
const allowMultiple = canRecordPickerSelectMultiple(ctx.collectionField, props.allowMultiple);
|
|
335
|
+
const normalizedFieldNames = normalizeAssociationFieldNames(fieldNames, ctx.collectionField?.targetCollection);
|
|
334
336
|
useEffect(() => {
|
|
335
337
|
ctx.model.selectedRows.value = props.value;
|
|
336
338
|
}, [ctx.model.selectedRows, props.value]);
|
|
@@ -338,22 +340,23 @@ function RecordPickerField(props) {
|
|
|
338
340
|
model: ctx.model,
|
|
339
341
|
value: props.value,
|
|
340
342
|
isMultiple: allowMultiple,
|
|
341
|
-
fieldNames,
|
|
343
|
+
fieldNames: normalizedFieldNames,
|
|
342
344
|
onChange: props.onChange,
|
|
343
345
|
});
|
|
344
346
|
|
|
345
347
|
return (
|
|
346
348
|
<Select
|
|
347
349
|
{...props}
|
|
350
|
+
fieldNames={normalizedFieldNames}
|
|
348
351
|
open={false}
|
|
349
352
|
onClick={(e) => {
|
|
350
353
|
if (!disabled) {
|
|
351
354
|
onClick(e);
|
|
352
355
|
}
|
|
353
356
|
}}
|
|
354
|
-
value={normalizeRecordPickerValue(props.value,
|
|
357
|
+
value={normalizeRecordPickerValue(props.value, normalizedFieldNames, allowMultiple)}
|
|
355
358
|
labelRender={(item) => {
|
|
356
|
-
return <LabelByField option={item} fieldNames={
|
|
359
|
+
return <LabelByField option={item} fieldNames={normalizedFieldNames} />;
|
|
357
360
|
}}
|
|
358
361
|
labelInValue
|
|
359
362
|
mode={allowMultiple ? 'multiple' : undefined}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import { FlowContext, FlowEngine, FlowModel, FlowModelProvider } from '@nocobase/flow-engine';
|
|
12
|
+
import { render, renderHook, waitFor } from '@testing-library/react';
|
|
12
13
|
import { describe, expect, it, vi } from 'vitest';
|
|
13
14
|
import {
|
|
14
15
|
buildCurrentItemTitle,
|
|
@@ -84,6 +85,29 @@ describe('RecordPickerFieldModel item context', () => {
|
|
|
84
85
|
expect(normalizeRecordPickerValue(undefined, fieldNames, false)).toBeUndefined();
|
|
85
86
|
});
|
|
86
87
|
|
|
88
|
+
it('renders existing values before field names are initialized', () => {
|
|
89
|
+
const engine = new FlowEngine();
|
|
90
|
+
engine.registerModels({ RecordPickerFieldModel });
|
|
91
|
+
const field = engine.createModel<RecordPickerFieldModel>({
|
|
92
|
+
use: 'RecordPickerFieldModel',
|
|
93
|
+
uid: 'record-picker-without-field-names',
|
|
94
|
+
});
|
|
95
|
+
field.context.defineProperty('collectionField', {
|
|
96
|
+
value: {
|
|
97
|
+
type: 'hasMany',
|
|
98
|
+
targetCollection: {
|
|
99
|
+
filterTargetKey: 'id',
|
|
100
|
+
titleCollectionField: { name: 'name' },
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
field.setProps({ value: [{ id: 1, name: 'Alice' }], onClick: vi.fn(), onChange: vi.fn() });
|
|
105
|
+
|
|
106
|
+
const result = render(React.createElement(FlowModelProvider, { model: field }, field.render()));
|
|
107
|
+
|
|
108
|
+
expect(result.getByRole('combobox')).toBeTruthy();
|
|
109
|
+
});
|
|
110
|
+
|
|
87
111
|
it('queues ID-only picker values for association label hydration', () => {
|
|
88
112
|
const statusMap = new Map<string, 'pending' | 'done'>();
|
|
89
113
|
const fieldNames = { label: 'name', value: 'id' };
|