@nocobase/plugin-workflow 0.16.0-alpha.1 → 0.16.0-alpha.4
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/dist/client/index.js
CHANGED
|
@@ -526,7 +526,11 @@
|
|
|
526
526
|
}
|
|
527
527
|
`},required:!0}},view:{},component:function({data:t}){var a;const{nodes:o}=G(),{styles:r}=ae(),s=o.find(l=>l.upstreamId===t.id&&l.branchIndex!=null);return n.jsx(ut,{data:t,children:n.jsx("div",{className:r.nodeSubtreeClass,children:n.jsxs("div",{className:i.cx(r.branchBlockClass,i.css`
|
|
528
528
|
padding-left: 20em;
|
|
529
|
-
`),children:[n.jsx(Me,{from:t,entry:s,branchIndex:(a=s==null?void 0:s.branchIndex)!=null?a:0}),n.jsxs("div",{className:r.branchClass,children:[n.jsx("div",{className:"workflow-branch-lines"}),n.jsx("div",{className:i.cx(r.addButtonClass,r.loopLineClass),children:n.jsx(O.ArrowUpOutlined,{})})]})]})})})},scope:{},components:{WorkflowVariableInput:it},useScopeVariables(e,t){const o=i.useCompile(),{target:r}=e.config;if(!r)return null;const{fieldNames:s=Ae}=t;let a={key:"item",[s.value]:"item",[s.label]:N("Loop target")};if(typeof r=="string"&&r.startsWith("{{")&&r.endsWith("}}")){const l=r.slice(2,-2).split(".").map(p=>p.trim()),c=[vo,Ft,It].map(p=>{const f=p.useOptions(C(v({},t),{current:e})).filter(Boolean);return{[s.label]:o(p.label),[s.value]:p.value,key:p.value,[s.children]:f,disabled:f&&!f.length}}),u=By(c,l);a=Object.assign({},u,a)}return[a,{key:"index",[s.value]:"index",[s.label]:N("Loop index")},{key:"length",[s.value]:"length",[s.label]:N("Loop length")}]}};function Ly(e){const{execution:t,nodes:o}=G(),r=y.useMemo(()=>o.reduce((l,c)=>Object.assign(l,{[c.id]:c.key}),{}),[o]),s=y.useMemo(()=>{var l;return{$context:t==null?void 0:t.context,$jobsMapByNodeKey:((l=t==null?void 0:t.jobs)!=null?l:[]).reduce((c,u)=>Object.assign(c,{[r[u.nodeId]]:u.result}),{})}},[t]);return y.useMemo(()=>X.parse(e)(s),[t])}function xn(e){const t=F.useField(),o=y.useRef(null),{appends:r,updateAssociationValues:s}=i.useAssociationNames(),a=Ly(e.dataSource),l=y.useMemo(()=>se.createForm({values:a,readPretty:!0}),[a]),c={appends:r},u={loading:!1,data:{data:a}},f=i.useAPIClient().resource(e.collection),g=y.useContext(i.BlockRequestContext);return n.jsx(i.CollectionProvider,{collection:e.collection,children:n.jsx(i.RecordProvider,{record:a,parent:!1,children:n.jsx(i.BlockRequestContext.Provider,{value:{block:"form",field:t,service:u,resource:f,__parent:g},children:n.jsx(i.FormBlockContext.Provider,{value:{params:c,form:l,field:t,service:u,updateAssociationValues:s,formBlockRef:o},children:e.children})})})})}function Cn(e){var $,D,M;const t=i.useRecord(),o=F.useFieldSchema(),r=F.useField(),s=y.useRef(null),{appends:a,updateAssociationValues:l}=i.useAssociationNames(),[c]=Object.keys(($=o.toJSON().properties)!=null?$:{}),u=(D=t==null?void 0:t.result)==null?void 0:D[c],{findComponent:p}=i.useDesignable(),f=p((M=r.component)==null?void 0:M[0])||y.Fragment,g=y.useMemo(()=>se.createForm({initialValues:u}),[u]),x=y.useMemo(()=>v({appends:a},e.params),[a,e.params]),h=y.useMemo(()=>({loading:!1,data:{data:u}}),[u]),k=i.useAPIClient().resource(e.collection),w=y.useContext(i.BlockRequestContext),T=y.useMemo(()=>({params:x,form:g,field:r,service:h,updateAssociationValues:l,formBlockRef:s}),[r,g,x,h,l]);return!t.status||u?n.jsx(i.CollectionProvider,{collection:e.collection,children:n.jsx(i.RecordProvider,{record:u,parent:!1,children:n.jsx(i.FormActiveFieldsProvider,{name:"form",children:n.jsx(i.BlockRequestContext.Provider,{value:{block:"form",props:e,field:r,service:h,resource:k,__parent:w},children:n.jsx(i.FormBlockContext.Provider,{value:T,children:n.jsxs(f,C(v({},r.componentProps),{children:[n.jsx(i.FormV2.Templates,{style:{marginBottom:18},form:g}),n.jsx("div",{ref:s,children:n.jsx(F.RecursionField,{schema:o,onlyRenderProperties:!0})})]}))})})})})}):null}function zy(r){var s=r,{insert:e,schema:t}=s,o=W(s,["insert","schema"]);const{getTemplateSchemaByMode:a}=i.useSchemaTemplateManager(),l=i.useRecordCollectionDataSourceItems("FormItem");function c(p){return J(this,arguments,function*({item:u}){const f=u.template?yield a(u):null,g=i.createFormBlockSchema(C(v({actionInitializers:"AddActionButton",actions:{resolve:{type:"void",title:`{{t("Continue the process", { ns: "${d}" })}}`,"x-decorator":"ManualActionStatusProvider","x-decorator-props":{value:ee.RESOLVED},"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useSubmit }}"},"x-designer":"ManualActionDesigner","x-designer-props":{}}}},t),{template:f}));delete g["x-acl-action-props"],delete g["x-acl-action"];const[x]=Object.keys(g.properties);g.properties[x].properties.actions["x-decorator"]="ActionBarProvider",g.properties[x].properties.actions["x-component-props"].style={marginTop:"1.5em",flexWrap:"wrap"},Jt(g,h=>{h["x-uid"]&&delete h["x-uid"]}),e(g)})}return n.jsx(i.SchemaInitializer.Item,C(v({},o),{onClick:c,items:l}))}function wn(e){var t;return n.jsx(i.CollectionProvider,{collection:(t=e.schema)==null?void 0:t.collection,children:n.jsx(zy,v({},e))})}function Wy(){const{name:e,title:t}=i.useCollection();return n.jsxs(i.GeneralSchemaDesigner,{title:t||e,children:[n.jsx(i.SchemaSettings.BlockTitleItem,{}),n.jsx(i.SchemaSettings.LinkageRules,{collectionName:e}),n.jsx(i.SchemaSettings.DataTemplates,{collectionName:e}),n.jsx(i.SchemaSettings.Divider,{}),n.jsx(i.SchemaSettings.Remove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})}const Uy={title:`{{t("Create record form", { ns: "${d}" })}}`,config:{useInitializer({collections:e}){return{key:"createRecordForm",type:"subMenu",title:`{{t("Create record form", { ns: "${d}" })}}`,children:[{key:"createRecordForm-child",type:"itemGroup",style:{maxHeight:"48vh",overflowY:"auto"},loadChildren:({searchValue:t})=>e.filter(o=>!o.hidden&&o.title.toLowerCase().includes(t.toLowerCase())).map(o=>({key:`createRecordForm-child-${o.name}`,type:"item",title:o.title,schema:{collection:o.name,title:`{{t("Create record", { ns: "${d}" })}}`,formType:"create","x-designer":"CreateFormDesigner"},component:wn}))}]}},initializers:{},components:{CreateFormDesigner:Wy},parseFormOptions(e){const t={};return ke(e,r=>r["x-decorator"]==="FormBlockProvider"&&r["x-decorator-props"].formType==="create").forEach(r=>{var l;const[s]=Object.keys(r.properties),a=r.properties[s];t[s]={type:"create",title:((l=r["x-component-props"])==null?void 0:l.title)||s,actions:ke(a.properties.actions,c=>c["x-component"]==="Action").map(c=>{var u,p;return{status:c["x-decorator-props"].value,values:(p=(u=c["x-action-settings"])==null?void 0:u.assignedValues)==null?void 0:p.values,key:c.name}}),collection:r["x-decorator-props"].collection}}),t}},block:{scope:{},components:{}}};function $n(e){var p,f,g,x;const[t,o]=y.useState((f=(p=e.collection)==null?void 0:p.fields)!=null?f:[]),r=i.useRecord(),s=F.useField(),a=F.useFieldSchema(),[l]=Object.keys((g=a.toJSON().properties)!=null?g:{}),c=(x=r==null?void 0:r.result)==null?void 0:x[l],u=y.useMemo(()=>se.createForm({initialValues:c}),[c]);return!r.status||c?n.jsx(i.CollectionProvider,{collection:C(v({},e.collection),{fields:t}),children:n.jsx(i.RecordProvider,{record:c,parent:!1,children:n.jsx(i.FormBlockContext.Provider,{value:{form:u,field:s,setCollectionFields:o},children:e.children})})}):null}function Gy(o){var r=o,{insert:e}=r,t=W(r,["insert"]);return n.jsx(i.SchemaInitializer.Item,C(v({},t),{onClick:()=>{e({type:"void","x-decorator":"CustomFormBlockProvider","x-decorator-props":{collection:{name:X.uid(),fields:[]}},"x-component":"CardItem","x-component-props":{title:'{{t("Form")}}'},"x-designer":"SimpleDesigner","x-designer-props":{type:"customForm"},properties:{[X.uid()]:{type:"void","x-component":"FormV2","x-component-props":{useProps:"{{ useFormBlockProps }}"},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"AddCustomFormField"},actions:{type:"void","x-decorator":"ActionBarProvider","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:"1.5em",flexWrap:"wrap"}},"x-initializer":"AddActionButton",properties:{resolve:{type:"void",title:`{{t("Continue the process", { ns: "${d}" })}}`,"x-decorator":"ManualActionStatusProvider","x-decorator-props":{value:ee.RESOLVED},"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useSubmit }}"},"x-designer":"ManualActionDesigner"}}}}}}})}}))}const Sn={basic:'{{t("Basic")}}',choices:'{{t("Choices")}}',media:'{{t("Media")}}',datetime:'{{t("Date & Time")}}',relation:'{{t("Relation")}}',advanced:'{{t("Advanced type")}}',systemInfo:'{{t("System info")}}',others:'{{t("Others")}}'};function Hy(e){const t={};return Object.keys(e).forEach(o=>{const r=e[o],{group:s="others"}=r;t[s]=t[s]||{},$e.set(t,[s,o],r)}),Object.keys(Sn).filter(o=>["basic","choices","datetime","media"].includes(o)).map(o=>({title:Sn[o],children:Object.keys(t[o]||{}).map(r=>{const s=t[o][r];return v({value:r,title:s.title,name:r},t[o][r])}).sort((r,s)=>r.order-s.order)}))}function Ky(){const{interfaces:e}=i.useCollectionManager();return Hy(e).map(o=>({key:o.title,type:"itemGroup",title:o.title,children:o.children.map(r=>({key:r.name,type:"item",title:r.title,component:Jy,fieldInterface:r.name}))}))}const kn=y.createContext({});function qy(e){const{insertPosition:t="beforeEnd",component:o}=e,r=Ky(),s=y.useContext(i.CollectionContext),[a,l]=y.useState(null),[c,u]=y.useState(),{setCollectionFields:p}=y.useContext(i.FormBlockContext);return n.jsxs(kn.Provider,{value:{onAddField(f){const k=$e.cloneDeep(f),{properties:w}=k,T=w,{unique:g,type:x}=T,h=W(T,["unique","type"]),m=W(k,["properties"]);delete h.name["x-disabled"],l(C(v({},m),{properties:h}))},setCallback:u},children:[n.jsx(i.SchemaInitializer.Button,{wrap:i.gridRowColWrap,insertPosition:t,items:r,component:o,title:"{{t('Configure fields')}}"}),n.jsx(i.ActionContextProvider,{value:{visible:!!a},children:a?n.jsx(i.SchemaComponent,{schema:{type:"void",name:"drawer",title:'{{t("Configure field")}}',"x-decorator":"Form","x-component":"Action.Drawer",properties:C(v({},a.properties),{footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{type:"void",title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction(){const f=F.useForm();return{run(){return J(this,null,function*(){u(null),l(null),f.reset()})}}}}},submit:{type:"void",title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction(){const{values:f,query:g}=F.useForm();return{run(){return J(this,null,function*(){var T,$,D,M;const{default:h}=a,m=X.uid();if(h.name=(T=f.name)!=null?T:m,h.uiSchema.title=(D=($=f.uiSchema)==null?void 0:$.title)!=null?D:m,h.interface=a.name,(M=s.fields)==null?void 0:M.find(_=>_.name===h.name)){g("name").take().setFeedback({type:"error",messages:[N("Field name existed in form")]});return}const w=X.merge(h,f);p([...s.fields,w]),c({name:h.name,type:h.uiSchema.type,"x-decorator":"FormItem","x-component":"CollectionField","x-component-props":{field:w},"x-collection-field":`${s.name}.${h.name}`,"x-designer":"FormItem.Designer"}),u(null),l(null)})}}}}}}}})},components:{ArrayTable:Se.ArrayTable}}):null})]})}function Jy(e){const{item:t,insert:o}=e,{onAddField:r,setCallback:s}=y.useContext(kn),{getInterface:a}=i.useCollectionManager(),l=a(t.fieldInterface);return n.jsx(i.SchemaInitializer.Item,{onClick:()=>{s(()=>o),r(l)}},t.fieldInterface)}const An={title:`{{t("Custom form", { ns: "${d}" })}}`,config:{useInitializer(){return{key:"customForm",type:"item",title:`{{t("Custom form", { ns: "${d}" })}}`,component:Gy}},initializers:{AddCustomFormField:qy},components:{CustomFormBlockProvider:$n},parseFormOptions(e){const t={};return ke(e,r=>r["x-decorator"]==="CustomFormBlockProvider").forEach(r=>{var c;const[s]=Object.keys(r.properties),a=r.properties[s],l=ke(a.properties.grid,u=>u["x-component"]==="CollectionField",!0);r["x-decorator-props"].collection.fields=l.map(u=>{var p,f;return(f=(p=u["x-component-props"])==null?void 0:p.field)!=null?f:u["x-interface-options"]}),t[s]={type:"custom",title:((c=r["x-component-props"])==null?void 0:c.title)||s,actions:ke(a.properties.actions,u=>u["x-component"]==="Action").map(u=>{var p,f;return{status:u["x-decorator-props"].value,values:(f=(p=u["x-action-settings"])==null?void 0:p.assignedValues)==null?void 0:f.values,key:u.name}}),collection:r["x-decorator-props"].collection}}),t}},block:{scope:{},components:{CustomFormBlockProvider:$n}}};function Yy(){const{name:e,title:t}=i.useCollection(),o=F.useFieldSchema(),{t:r}=oe.useTranslation(),{dn:s}=i.useDesignable();return n.jsxs(i.GeneralSchemaDesigner,{title:t||e,children:[n.jsx(i.SchemaSettings.BlockTitleItem,{}),n.jsx(i.SchemaSettings.ActionModalItem,{title:r("Filter settings",{ns:d}),schema:{name:"filter",type:"object",title:'{{t("Filter")}}',"x-component":"Filter","x-component-props":{useProps(){var l;return{options:i.useCollectionFilterOptions((l=o==null?void 0:o["x-decorator-props"])==null?void 0:l.collection)}},dynamicComponent:"FilterDynamicComponent"}},initialValues:o==null?void 0:o["x-decorator-props"],onSubmit:({filter:a})=>{o["x-decorator-props"].filter=a,s.emit("patch",{schema:{"x-decorator-props":o["x-decorator-props"]}}),s.refresh()}}),n.jsx(i.SchemaSettings.LinkageRules,{collectionName:e}),n.jsx(i.SchemaSettings.Divider,{}),n.jsx(i.SchemaSettings.Remove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})}const Zy={title:`{{t("Update record form", { ns: "${d}" })}}`,config:{useInitializer({collections:e}){return{key:"updateRecordForm",type:"subMenu",title:`{{t("Update record form", { ns: "${d}" })}}`,children:[{key:"updateRecordForm-child",type:"itemGroup",style:{maxHeight:"48vh",overflowY:"auto"},loadChildren:({searchValue:t})=>e.filter(o=>!o.hidden&&o.title.toLowerCase().includes(t.toLowerCase())).map(o=>({key:`updateRecordForm-child-${o.name}`,type:"item",title:o.title,schema:{collection:o.name,title:`{{t("Update record", { ns: "${d}" })}}`,formType:"update","x-designer":"UpdateFormDesigner"},component:wn}))}]}},initializers:{},components:{FilterDynamicComponent:lt,UpdateFormDesigner:Yy},parseFormOptions(e){const t={};return ke(e,r=>r["x-decorator"]==="FormBlockProvider"&&r["x-decorator-props"].formType==="update").forEach(r=>{var l;const[s]=Object.keys(r.properties),a=r.properties[s];t[s]=C(v({},r["x-decorator-props"]),{type:"update",title:((l=r["x-component-props"])==null?void 0:l.title)||s,actions:ke(a.properties.actions,c=>c["x-component"]==="Action").map(c=>{var u,p;return{status:c["x-decorator-props"].value,values:(p=(u=c["x-action-settings"])==null?void 0:u.assignedValues)==null?void 0:p.values,key:c.name}})})}),t}},block:{scope:{},components:{}}},Ce=new X.Registry;Ce.register("customForm",An),Ce.register("createForm",Uy),Ce.register("updateForm",Zy);function Qy(){const{workflow:e}=G(),t=yo();return t.useInitializers?t.useInitializers(e.config):null}const Xy={customForm:An.title,record:`{{t("Data record", { ns: "${d}" })}}`};function Ry(){var r,s;const e=F.useFieldSchema(),t=(s=Xy[(r=e["x-designer-props"])==null?void 0:r.type])!=null?s:'{{t("Block")}}',o=i.useCompile();return n.jsxs(i.GeneralSchemaDesigner,{title:o(t),children:[n.jsx(i.SchemaSettings.BlockTitleItem,{}),n.jsx(i.SchemaSettings.Divider,{}),n.jsx(i.SchemaSettings.Remove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})}function eg(e){const{collections:t}=i.useCollectionManager(),o=Te(),r=ct(o),s=[Qy()].filter(Boolean),a=r.map(u=>{var f;const p=K.get(u.type);return(f=p==null?void 0:p.useInitializers)==null?void 0:f.call(p,u)}).filter(Boolean),l=[...s,...a.length?[{key:"nodes",type:"subMenu",title:`{{t("Node result", { ns: "${d}" })}}`,children:a}]:[]].filter(Boolean),c=[...l.length?[{type:"itemGroup",title:'{{t("Data blocks")}}',children:l}]:[],{type:"itemGroup",title:'{{t("Form")}}',children:Array.from(Ce.getValues()).map(u=>{const{useInitializer:p}=u.config;return p({collections:t})})},{type:"itemGroup",title:'{{t("Other blocks")}}',children:[{type:"item",title:'{{t("Markdown")}}',component:"MarkdownBlockInitializer"}]}];return n.jsx(i.SchemaInitializer.Button,C(v({},e),{wrap:i.gridRowColWrap,items:c,title:"{{t('Add block')}}"}))}function tg(){var w,T,$;const e=y.useContext(i.SchemaComponentContext),{t}=oe.useTranslation(),o=F.useFieldSchema(),r=pe(),[s,a]=y.useState(!1),[l,c]=y.useState(($=(T=(w=o==null?void 0:o["x-action-settings"])==null?void 0:w.assignedValues)==null?void 0:T.schema)!=null?$:{type:"void","x-component":"Grid","x-initializer":"CustomFormItemInitializers",properties:{}}),[u,p]=y.useState(null),{components:f}=i.useSchemaOptionsContext();y.useEffect(()=>{p(new F.Schema({properties:{grid:l}}))},[l]);const g=y.useMemo(()=>{var M,_;const D=(_=(M=o==null?void 0:o["x-action-settings"])==null?void 0:M.assignedValues)==null?void 0:_.values;return se.createForm({initialValues:X.lodash.cloneDeep(D),values:X.lodash.cloneDeep(D)})},[]),x=i.useFormActiveFields(),h=t("Assign field values");function m(){a(!1)}function k(){o["x-action-settings"]||(o["x-action-settings"]={}),o["x-action-settings"].assignedValues||(o["x-action-settings"].assignedValues={}),o["x-action-settings"].assignedValues.schema=l,o["x-action-settings"].assignedValues.values=g.values,a(!1),setTimeout(()=>{var D;(D=e.refresh)==null||D.call(e)},300)}return n.jsxs(n.Fragment,{children:[n.jsx(i.SchemaSettings.Item,{title:h,onClick:()=>a(!0),children:h}),n.jsx(b.Modal,{width:"50%",title:h,open:s,onCancel:m,footer:n.jsxs(b.Space,{children:[n.jsx(b.Button,{onClick:m,children:t("Cancel")}),n.jsx(b.Button,{type:"primary",onClick:k,children:t("Submit")})]}),children:n.jsx(i.DefaultValueProvider,{isAllowToSetDefaultValue:()=>!1,children:n.jsx(i.VariableScopeProvider,{scope:r,children:n.jsx(i.FormActiveFieldsProvider,{name:"form",getActiveFieldsName:x==null?void 0:x.getActiveFieldsName,children:n.jsx(F.FormProvider,{form:g,children:n.jsxs(Se.FormLayout,{layout:"vertical",children:[n.jsx(b.Alert,{message:N("Values preset in this form will override user submitted ones when continue or reject.")}),n.jsx("br",{}),s&&u&&n.jsx(i.SchemaComponentContext.Provider,{value:C(v({},e),{refresh(){c(X.lodash.get(u.toJSON(),"properties.grid"))}}),children:n.jsx(i.SchemaComponent,{schema:u,components:f})})]})})})})})})]})}function og(e){return n.jsxs(i.GeneralSchemaDesigner,C(v({},e),{disableInitializer:!0,children:[n.jsx(i.Action.Designer.ButtonEditor,{}),n.jsx(tg,{}),n.jsx(i.SchemaSettings.Divider,{}),n.jsx(i.SchemaSettings.Remove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"ActionBar"}})]}))}function rg(s){var a=s,{action:e,actionProps:t,insert:o}=a,r=W(a,["action","actionProps","insert"]);return n.jsx(i.SchemaInitializer.Item,C(v({},r),{onClick:()=>{o({type:"void",title:r.title,"x-decorator":"ManualActionStatusProvider","x-decorator-props":{value:e},"x-component":"Action","x-component-props":C(v({},t),{useAction:"{{ useSubmit }}"}),"x-designer":"ManualActionDesigner","x-action-settings":{}})}}))}function Tn(r){var s=r,{action:e,actionProps:t}=s,o=W(s,["action","actionProps"]);return n.jsx(i.InitializerWithSwitch,C(v({},o),{schema:{type:"void",title:o.title,"x-decorator":"ManualActionStatusProvider","x-decorator-props":{value:e},"x-component":"Action","x-component-props":C(v({},t),{useAction:"{{ useSubmit }}"}),"x-designer":"Action.Designer","x-action":`${e}`},type:"x-action"}))}function ng(e){return n.jsx(i.SchemaInitializer.Button,C(v({},e),{items:[{key:ee.RESOLVED,type:"item",title:`{{t("Continue the process", { ns: "${d}" })}}`,component:rg,action:ee.RESOLVED,actionProps:{type:"primary"}},{key:ee.REJECTED,type:"item",title:`{{t("Terminate the process", { ns: "${d}" })}}`,component:Tn,action:ee.REJECTED,actionProps:{danger:!0}},{key:ee.PENDING,type:"item",title:`{{t("Save temporarily", { ns: "${d}" })}}`,component:Tn,action:ee.PENDING}],title:"{{t('Configure actions')}}"}))}function sg(){return{run(){}}}function ag({value:e,onChange:t}){const o=y.useContext(i.SchemaComponentContext),r=yo(),s=Te(),a=ct(s),l=F.useForm(),{workflow:c}=G(),u={},p={};a.forEach(x=>{const h=K.get(x.type);Object.assign(u,h.initializers),Object.assign(p,h.components)});const f=y.useMemo(()=>new F.Schema({properties:{drawer:{type:"void",title:'{{t("Configure form")}}',"x-decorator":"Form","x-component":"Action.Drawer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"TabPaneInitializers","x-initializer-props":{gridInitializer:"AddBlockButton"},properties:e!=null?e:{tab1:{type:"void",title:`{{t("Manual", { ns: "${d}" })}}`,"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"AddBlockButton",properties:{}}}}}}}}}}),[]),g=y.useCallback(function(){const{tabs:h}=X.lodash.get(f.toJSON(),"properties.drawer.properties"),m=Array.from(Ce.getValues()).reduce((k,w)=>Object.assign(k,w.config.parseFormOptions(h)),{});l.setValuesIn("forms",m),t(h.properties)},[l,t,f]);return n.jsx(i.SchemaComponentContext.Provider,{value:C(v({},o),{designable:!c.executed,refresh:g}),children:n.jsx(i.SchemaInitializerProvider,{initializers:v(v(v({AddBlockButton:eg,AddActionButton:ng},r.initializers),u),Array.from(Ce.getValues()).reduce((x,h)=>Object.assign(x,h.config.initializers),{})),children:n.jsx(i.SchemaComponent,{schema:f,components:C(v(v({},p),Array.from(Ce.getValues()).reduce((x,h)=>Object.assign(x,h.config.components),{})),{FormBlockProvider:Cn,DetailsBlockProvider:xn,ManualActionStatusProvider(x){return x.children},ActionBarProvider(x){return x.children},SimpleDesigner:Ry,ManualActionDesigner:og}),scope:{useSubmit:sg,useDetailsBlockProps:i.useFormBlockContext}})})})}function ig(e){const{workflow:t}=G(),[o,r]=y.useState(!1);return n.jsxs(n.Fragment,{children:[n.jsx(b.Button,{type:"primary",onClick:()=>r(!0),disabled:!1,children:t.executed?N("View user interface"):N("Configure user interface")}),n.jsx(i.ActionContextProvider,{value:{visible:o,setVisible:r,formValueChanged:!1},children:e.children})]})}function lg({value:e,onChange:t}){return n.jsxs("fieldset",{className:i.css`
|
|
529
|
+
`),children:[n.jsx(Me,{from:t,entry:s,branchIndex:(a=s==null?void 0:s.branchIndex)!=null?a:0}),n.jsxs("div",{className:r.branchClass,children:[n.jsx("div",{className:"workflow-branch-lines"}),n.jsx("div",{className:i.cx(r.addButtonClass,r.loopLineClass),children:n.jsx(O.ArrowUpOutlined,{})})]})]})})})},scope:{},components:{WorkflowVariableInput:it},useScopeVariables(e,t){const o=i.useCompile(),{target:r}=e.config;if(!r)return null;const{fieldNames:s=Ae}=t;let a={key:"item",[s.value]:"item",[s.label]:N("Loop target")};if(typeof r=="string"&&r.startsWith("{{")&&r.endsWith("}}")){const l=r.slice(2,-2).split(".").map(p=>p.trim()),c=[vo,Ft,It].map(p=>{const f=p.useOptions(C(v({},t),{current:e})).filter(Boolean);return{[s.label]:o(p.label),[s.value]:p.value,key:p.value,[s.children]:f,disabled:f&&!f.length}}),u=By(c,l);a=Object.assign({},u,a)}return[a,{key:"index",[s.value]:"index",[s.label]:N("Loop index")},{key:"length",[s.value]:"length",[s.label]:N("Loop length")}]}};function Ly(e){const{execution:t,nodes:o}=G(),r=y.useMemo(()=>o.reduce((l,c)=>Object.assign(l,{[c.id]:c.key}),{}),[o]),s=y.useMemo(()=>{var l;return{$context:t==null?void 0:t.context,$jobsMapByNodeKey:((l=t==null?void 0:t.jobs)!=null?l:[]).reduce((c,u)=>Object.assign(c,{[r[u.nodeId]]:u.result}),{})}},[t]);return y.useMemo(()=>X.parse(e)(s),[t])}function xn(e){const t=F.useField(),o=y.useRef(null),{appends:r,updateAssociationValues:s}=i.useAssociationNames(),a=Ly(e.dataSource),l=y.useMemo(()=>se.createForm({values:a,readPretty:!0}),[a]),c={appends:r},u={loading:!1,data:{data:a}},f=i.useAPIClient().resource(e.collection),g=y.useContext(i.BlockRequestContext);return n.jsx(i.CollectionProvider,{collection:e.collection,children:n.jsx(i.RecordProvider,{record:a,parent:!1,children:n.jsx(i.BlockRequestContext.Provider,{value:{block:"form",field:t,service:u,resource:f,__parent:g},children:n.jsx(i.FormBlockContext.Provider,{value:{params:c,form:l,field:t,service:u,updateAssociationValues:s,formBlockRef:o},children:e.children})})})})}function Cn(e){var $,D,M;const t=i.useRecord(),o=F.useFieldSchema(),r=F.useField(),s=y.useRef(null),{appends:a,updateAssociationValues:l}=i.useAssociationNames(),[c]=Object.keys(($=o.toJSON().properties)!=null?$:{}),u=(D=t==null?void 0:t.result)==null?void 0:D[c],{findComponent:p}=i.useDesignable(),f=p((M=r.component)==null?void 0:M[0])||y.Fragment,g=y.useMemo(()=>se.createForm({initialValues:u}),[u]),x=y.useMemo(()=>v({appends:a},e.params),[a,e.params]),h=y.useMemo(()=>({loading:!1,data:{data:u}}),[u]),k=i.useAPIClient().resource(e.collection),w=y.useContext(i.BlockRequestContext),T=y.useMemo(()=>({params:x,form:g,field:r,service:h,updateAssociationValues:l,formBlockRef:s}),[r,g,x,h,l]);return!t.status||u?n.jsx(i.CollectionProvider,{collection:e.collection,children:n.jsx(i.RecordProvider,{record:u,parent:!1,children:n.jsx(i.FormActiveFieldsProvider,{name:"form",children:n.jsx(i.BlockRequestContext.Provider,{value:{block:"form",props:e,field:r,service:h,resource:k,__parent:w},children:n.jsx(i.FormBlockContext.Provider,{value:T,children:n.jsxs(f,C(v({},r.componentProps),{children:[n.jsx(i.FormV2.Templates,{style:{marginBottom:18},form:g}),n.jsx("div",{ref:s,children:n.jsx(F.RecursionField,{schema:o,onlyRenderProperties:!0})})]}))})})})})}):null}function zy(r){var s=r,{insert:e,schema:t}=s,o=W(s,["insert","schema"]);const{getTemplateSchemaByMode:a}=i.useSchemaTemplateManager(),l=i.useRecordCollectionDataSourceItems("FormItem");function c(p){return J(this,arguments,function*({item:u}){const f=u.template?yield a(u):null,g=i.createFormBlockSchema(C(v({actionInitializers:"AddActionButton",actions:{resolve:{type:"void",title:`{{t("Continue the process", { ns: "${d}" })}}`,"x-decorator":"ManualActionStatusProvider","x-decorator-props":{value:ee.RESOLVED},"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useSubmit }}"},"x-designer":"ManualActionDesigner","x-designer-props":{}}}},t),{template:f}));delete g["x-acl-action-props"],delete g["x-acl-action"];const[x]=Object.keys(g.properties);g.properties[x].properties.actions["x-decorator"]="ActionBarProvider",g.properties[x].properties.actions["x-component-props"].style={marginTop:"1.5em",flexWrap:"wrap"},Jt(g,h=>{h["x-uid"]&&delete h["x-uid"]}),e(g)})}return n.jsx(i.SchemaInitializer.Item,C(v({},o),{onClick:c,items:l}))}function wn(e){var t;return n.jsx(i.CollectionProvider,{collection:(t=e.schema)==null?void 0:t.collection,children:n.jsx(zy,v({},e))})}function Wy(){const{name:e,title:t}=i.useCollection();return n.jsxs(i.GeneralSchemaDesigner,{title:t||e,children:[n.jsx(i.SchemaSettings.BlockTitleItem,{}),n.jsx(i.SchemaSettings.LinkageRules,{collectionName:e}),n.jsx(i.SchemaSettings.DataTemplates,{collectionName:e}),n.jsx(i.SchemaSettings.Divider,{}),n.jsx(i.SchemaSettings.Remove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})}const Uy={title:`{{t("Create record form", { ns: "${d}" })}}`,config:{useInitializer({collections:e}){return{key:"createRecordForm",type:"subMenu",title:`{{t("Create record form", { ns: "${d}" })}}`,children:[{key:"createRecordForm-child",type:"itemGroup",style:{maxHeight:"48vh",overflowY:"auto"},loadChildren:({searchValue:t})=>e.filter(o=>!o.hidden&&o.title.toLowerCase().includes(t.toLowerCase())).map(o=>({key:`createRecordForm-child-${o.name}`,type:"item",title:o.title,schema:{collection:o.name,title:`{{t("Create record", { ns: "${d}" })}}`,formType:"create","x-designer":"CreateFormDesigner"},component:wn}))}]}},initializers:{},components:{CreateFormDesigner:Wy},parseFormOptions(e){const t={};return ke(e,r=>r["x-decorator"]==="FormBlockProvider"&&r["x-decorator-props"].formType==="create").forEach(r=>{var l;const[s]=Object.keys(r.properties),a=r.properties[s];t[s]={type:"create",title:((l=r["x-component-props"])==null?void 0:l.title)||s,actions:ke(a.properties.actions,c=>c["x-component"]==="Action").map(c=>{var u,p;return{status:c["x-decorator-props"].value,values:(p=(u=c["x-action-settings"])==null?void 0:u.assignedValues)==null?void 0:p.values,key:c.name}}),collection:r["x-decorator-props"].collection}}),t}},block:{scope:{},components:{}}};function $n(e){var p,f,g,x;const[t,o]=y.useState((f=(p=e.collection)==null?void 0:p.fields)!=null?f:[]),r=i.useRecord(),s=F.useField(),a=F.useFieldSchema(),[l]=Object.keys((g=a.toJSON().properties)!=null?g:{}),c=(x=r==null?void 0:r.result)==null?void 0:x[l],u=y.useMemo(()=>se.createForm({initialValues:c}),[c]);return!r.status||c?n.jsx(i.CollectionProvider,{collection:C(v({},e.collection),{fields:t}),children:n.jsx(i.RecordProvider,{record:c,parent:!1,children:n.jsx(i.FormBlockContext.Provider,{value:{form:u,field:s,setCollectionFields:o},children:e.children})})}):null}function Gy(o){var r=o,{insert:e}=r,t=W(r,["insert"]);return n.jsx(i.SchemaInitializer.Item,C(v({},t),{onClick:()=>{e({type:"void","x-decorator":"CustomFormBlockProvider","x-decorator-props":{collection:{name:X.uid(),fields:[]}},"x-component":"CardItem","x-component-props":{title:'{{t("Form")}}'},"x-designer":"SimpleDesigner","x-designer-props":{type:"customForm"},properties:{[X.uid()]:{type:"void","x-component":"FormV2","x-component-props":{useProps:"{{ useFormBlockProps }}"},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"AddCustomFormField"},actions:{type:"void","x-decorator":"ActionBarProvider","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:"1.5em",flexWrap:"wrap"}},"x-initializer":"AddActionButton",properties:{resolve:{type:"void",title:`{{t("Continue the process", { ns: "${d}" })}}`,"x-decorator":"ManualActionStatusProvider","x-decorator-props":{value:ee.RESOLVED},"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useSubmit }}"},"x-designer":"ManualActionDesigner"}}}}}}})}}))}const Sn={basic:'{{t("Basic")}}',choices:'{{t("Choices")}}',media:'{{t("Media")}}',datetime:'{{t("Date & Time")}}',relation:'{{t("Relation")}}',advanced:'{{t("Advanced type")}}',systemInfo:'{{t("System info")}}',others:'{{t("Others")}}'};function Hy(e){const t={};return Object.keys(e).forEach(o=>{const r=e[o],{group:s="others"}=r;t[s]=t[s]||{},$e.set(t,[s,o],r)}),Object.keys(Sn).filter(o=>["basic","choices","datetime","media"].includes(o)).map(o=>({title:Sn[o],children:Object.keys(t[o]||{}).map(r=>{const s=t[o][r];return v({value:r,title:s.title,name:r},t[o][r])}).sort((r,s)=>r.order-s.order)}))}function Ky(){const{interfaces:e}=i.useCollectionManager();return Hy(e).map(o=>({key:o.title,type:"itemGroup",title:o.title,children:o.children.map(r=>({key:r.name,type:"item",title:r.title,component:Jy,fieldInterface:r.name}))}))}const kn=y.createContext({});function qy(e){const{insertPosition:t="beforeEnd",component:o}=e,r=Ky(),s=y.useContext(i.CollectionContext),[a,l]=y.useState(null),[c,u]=y.useState(),{setCollectionFields:p}=y.useContext(i.FormBlockContext);return n.jsxs(kn.Provider,{value:{onAddField(f){const k=$e.cloneDeep(f),{properties:w}=k,T=w,{unique:g,type:x}=T,h=W(T,["unique","type"]),m=W(k,["properties"]);delete h.name["x-disabled"],l(C(v({},m),{properties:h}))},setCallback:u},children:[n.jsx(i.SchemaInitializer.Button,{wrap:i.gridRowColWrap,insertPosition:t,items:r,component:o,title:"{{t('Configure fields')}}"}),n.jsx(i.ActionContextProvider,{value:{visible:!!a},children:a?n.jsx(i.SchemaComponent,{schema:{type:"void",name:"drawer",title:'{{t("Configure field")}}',"x-decorator":"Form","x-component":"Action.Drawer",properties:C(v({},a.properties),{footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{type:"void",title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction(){const f=F.useForm();return{run(){return J(this,null,function*(){u(null),l(null),f.reset()})}}}}},submit:{type:"void",title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction(){const{values:f,query:g}=F.useForm();return{run(){return J(this,null,function*(){var T,$,D,M;const{default:h}=a,m=X.uid();if(h.name=(T=f.name)!=null?T:m,h.uiSchema.title=(D=($=f.uiSchema)==null?void 0:$.title)!=null?D:m,h.interface=a.name,(M=s.fields)==null?void 0:M.find(_=>_.name===h.name)){g("name").take().setFeedback({type:"error",messages:[N("Field name existed in form")]});return}const w=X.merge(h,f);p([...s.fields,w]),c({name:h.name,type:h.uiSchema.type,"x-decorator":"FormItem","x-component":"CollectionField","x-component-props":{field:w},"x-collection-field":`${s.name}.${h.name}`,"x-designer":"FormItem.Designer"}),u(null),l(null)})}}}}}}}})},components:{ArrayTable:Se.ArrayTable}}):null})]})}function Jy(e){const{item:t,insert:o}=e,{onAddField:r,setCallback:s}=y.useContext(kn),{getInterface:a}=i.useCollectionManager(),l=a(t.fieldInterface);return n.jsx(i.SchemaInitializer.Item,{onClick:()=>{s(()=>o),r(l)}},t.fieldInterface)}const An={title:`{{t("Custom form", { ns: "${d}" })}}`,config:{useInitializer(){return{key:"customForm",type:"item",title:`{{t("Custom form", { ns: "${d}" })}}`,component:Gy}},initializers:{AddCustomFormField:qy},components:{CustomFormBlockProvider:$n},parseFormOptions(e){const t={};return ke(e,r=>r["x-decorator"]==="CustomFormBlockProvider").forEach(r=>{var c;const[s]=Object.keys(r.properties),a=r.properties[s],l=ke(a.properties.grid,u=>u["x-component"]==="CollectionField",!0);r["x-decorator-props"].collection.fields=l.map(u=>{var p,f;return(f=(p=u["x-component-props"])==null?void 0:p.field)!=null?f:u["x-interface-options"]}),t[s]={type:"custom",title:((c=r["x-component-props"])==null?void 0:c.title)||s,actions:ke(a.properties.actions,u=>u["x-component"]==="Action").map(u=>{var p,f;return{status:u["x-decorator-props"].value,values:(f=(p=u["x-action-settings"])==null?void 0:p.assignedValues)==null?void 0:f.values,key:u.name}}),collection:r["x-decorator-props"].collection}}),t}},block:{scope:{},components:{CustomFormBlockProvider:$n}}};function Yy(){const{name:e,title:t}=i.useCollection(),o=F.useFieldSchema(),{t:r}=oe.useTranslation(),{dn:s}=i.useDesignable();return n.jsxs(i.GeneralSchemaDesigner,{title:t||e,children:[n.jsx(i.SchemaSettings.BlockTitleItem,{}),n.jsx(i.SchemaSettings.ActionModalItem,{title:r("Filter settings",{ns:d}),schema:{name:"filter",type:"object",title:'{{t("Filter")}}',"x-component":"Filter","x-component-props":{useProps(){var l;return{options:i.useCollectionFilterOptions((l=o==null?void 0:o["x-decorator-props"])==null?void 0:l.collection)}},dynamicComponent:"FilterDynamicComponent"}},initialValues:o==null?void 0:o["x-decorator-props"],onSubmit:({filter:a})=>{o["x-decorator-props"].filter=a,s.emit("patch",{schema:{"x-decorator-props":o["x-decorator-props"]}}),s.refresh()}}),n.jsx(i.SchemaSettings.LinkageRules,{collectionName:e}),n.jsx(i.SchemaSettings.Divider,{}),n.jsx(i.SchemaSettings.Remove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})}const Zy={title:`{{t("Update record form", { ns: "${d}" })}}`,config:{useInitializer({collections:e}){return{key:"updateRecordForm",type:"subMenu",title:`{{t("Update record form", { ns: "${d}" })}}`,children:[{key:"updateRecordForm-child",type:"itemGroup",style:{maxHeight:"48vh",overflowY:"auto"},loadChildren:({searchValue:t})=>e.filter(o=>!o.hidden&&o.title.toLowerCase().includes(t.toLowerCase())).map(o=>({key:`updateRecordForm-child-${o.name}`,type:"item",title:o.title,schema:{collection:o.name,title:`{{t("Update record", { ns: "${d}" })}}`,formType:"update","x-designer":"UpdateFormDesigner"},component:wn}))}]}},initializers:{},components:{FilterDynamicComponent:lt,UpdateFormDesigner:Yy},parseFormOptions(e){const t={};return ke(e,r=>r["x-decorator"]==="FormBlockProvider"&&r["x-decorator-props"].formType==="update").forEach(r=>{var l;const[s]=Object.keys(r.properties),a=r.properties[s];t[s]=C(v({},r["x-decorator-props"]),{type:"update",title:((l=r["x-component-props"])==null?void 0:l.title)||s,actions:ke(a.properties.actions,c=>c["x-component"]==="Action").map(c=>{var u,p;return{status:c["x-decorator-props"].value,values:(p=(u=c["x-action-settings"])==null?void 0:u.assignedValues)==null?void 0:p.values,key:c.name}})})}),t}},block:{scope:{},components:{}}},Ce=new X.Registry;Ce.register("customForm",An),Ce.register("createForm",Uy),Ce.register("updateForm",Zy);function Qy(){const{workflow:e}=G(),t=yo();return t.useInitializers?t.useInitializers(e.config):null}const Xy={customForm:An.title,record:`{{t("Data record", { ns: "${d}" })}}`};function Ry(){var r,s;const e=F.useFieldSchema(),t=(s=Xy[(r=e["x-designer-props"])==null?void 0:r.type])!=null?s:'{{t("Block")}}',o=i.useCompile();return n.jsxs(i.GeneralSchemaDesigner,{title:o(t),children:[n.jsx(i.SchemaSettings.BlockTitleItem,{}),n.jsx(i.SchemaSettings.Divider,{}),n.jsx(i.SchemaSettings.Remove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})}function eg(e){const{collections:t}=i.useCollectionManager(),o=Te(),r=ct(o),s=[Qy()].filter(Boolean),a=r.map(u=>{var f;const p=K.get(u.type);return(f=p==null?void 0:p.useInitializers)==null?void 0:f.call(p,u)}).filter(Boolean),l=[...s,...a.length?[{key:"nodes",type:"subMenu",title:`{{t("Node result", { ns: "${d}" })}}`,children:a}]:[]].filter(Boolean),c=[...l.length?[{type:"itemGroup",title:'{{t("Data blocks")}}',children:l}]:[],{type:"itemGroup",title:'{{t("Form")}}',children:Array.from(Ce.getValues()).map(u=>{const{useInitializer:p}=u.config;return p({collections:t})})},{type:"itemGroup",title:'{{t("Other blocks")}}',children:[{type:"item",title:'{{t("Markdown")}}',component:"MarkdownBlockInitializer"}]}];return n.jsx(i.SchemaInitializer.Button,C(v({},e),{wrap:i.gridRowColWrap,items:c,title:"{{t('Add block')}}"}))}function tg(){var w,T,$;const e=y.useContext(i.SchemaComponentContext),{t}=oe.useTranslation(),o=F.useFieldSchema(),r=pe(),[s,a]=y.useState(!1),[l,c]=y.useState(($=(T=(w=o==null?void 0:o["x-action-settings"])==null?void 0:w.assignedValues)==null?void 0:T.schema)!=null?$:{type:"void","x-component":"Grid","x-initializer":"CustomFormItemInitializers",properties:{}}),[u,p]=y.useState(null),{components:f}=i.useSchemaOptionsContext();y.useEffect(()=>{p(new F.Schema({properties:{grid:l}}))},[l]);const g=y.useMemo(()=>{var M,_;const D=(_=(M=o==null?void 0:o["x-action-settings"])==null?void 0:M.assignedValues)==null?void 0:_.values;return se.createForm({initialValues:X.lodash.cloneDeep(D),values:X.lodash.cloneDeep(D)})},[]),x=i.useFormActiveFields(),h=t("Assign field values");function m(){a(!1)}function k(){o["x-action-settings"]||(o["x-action-settings"]={}),o["x-action-settings"].assignedValues||(o["x-action-settings"].assignedValues={}),o["x-action-settings"].assignedValues.schema=l,o["x-action-settings"].assignedValues.values=g.values,a(!1),setTimeout(()=>{var D;(D=e.refresh)==null||D.call(e)},300)}return n.jsxs(n.Fragment,{children:[n.jsx(i.SchemaSettings.Item,{title:h,onClick:()=>a(!0),children:h}),n.jsx(b.Modal,{width:"50%",title:h,open:s,onCancel:m,footer:n.jsxs(b.Space,{children:[n.jsx(b.Button,{onClick:m,children:t("Cancel")}),n.jsx(b.Button,{type:"primary",onClick:k,children:t("Submit")})]}),children:n.jsx(i.DefaultValueProvider,{isAllowToSetDefaultValue:()=>!1,children:n.jsx(i.VariableScopeProvider,{scope:r,children:n.jsx(i.FormActiveFieldsProvider,{name:"form",getActiveFieldsName:x==null?void 0:x.getActiveFieldsName,children:n.jsx(F.FormProvider,{form:g,children:n.jsxs(Se.FormLayout,{layout:"vertical",children:[n.jsx(b.Alert,{message:N("Values preset in this form will override user submitted ones when continue or reject.")}),n.jsx("br",{}),s&&u&&n.jsx(i.SchemaComponentContext.Provider,{value:C(v({},e),{refresh(){c(X.lodash.get(u.toJSON(),"properties.grid"))}}),children:n.jsx(i.SchemaComponent,{schema:u,components:f})})]})})})})})})]})}function og(e){return n.jsxs(i.GeneralSchemaDesigner,C(v({},e),{disableInitializer:!0,children:[n.jsx(i.Action.Designer.ButtonEditor,{}),n.jsx(tg,{}),n.jsx(i.SchemaSettings.Divider,{}),n.jsx(i.SchemaSettings.Remove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"ActionBar"}})]}))}function rg(s){var a=s,{action:e,actionProps:t,insert:o}=a,r=W(a,["action","actionProps","insert"]);return n.jsx(i.SchemaInitializer.Item,C(v({},r),{onClick:()=>{o({type:"void",title:r.title,"x-decorator":"ManualActionStatusProvider","x-decorator-props":{value:e},"x-component":"Action","x-component-props":C(v({},t),{useAction:"{{ useSubmit }}"}),"x-designer":"ManualActionDesigner","x-action-settings":{}})}}))}function Tn(r){var s=r,{action:e,actionProps:t}=s,o=W(s,["action","actionProps"]);return n.jsx(i.InitializerWithSwitch,C(v({},o),{schema:{type:"void",title:o.title,"x-decorator":"ManualActionStatusProvider","x-decorator-props":{value:e},"x-component":"Action","x-component-props":C(v({},t),{useAction:"{{ useSubmit }}"}),"x-designer":"Action.Designer","x-action":`${e}`},type:"x-action"}))}function ng(e){return n.jsx(i.SchemaInitializer.Button,C(v({},e),{items:[{key:ee.RESOLVED,type:"item",title:`{{t("Continue the process", { ns: "${d}" })}}`,component:rg,action:ee.RESOLVED,actionProps:{type:"primary"}},{key:ee.REJECTED,type:"item",title:`{{t("Terminate the process", { ns: "${d}" })}}`,component:Tn,action:ee.REJECTED,actionProps:{danger:!0}},{key:ee.PENDING,type:"item",title:`{{t("Save temporarily", { ns: "${d}" })}}`,component:Tn,action:ee.PENDING}],title:"{{t('Configure actions')}}"}))}function sg(){return{run(){}}}function ag({value:e,onChange:t}){const o=y.useContext(i.SchemaComponentContext),r=yo(),s=Te(),a=ct(s),l=F.useForm(),{workflow:c}=G(),u={},p={};a.forEach(x=>{const h=K.get(x.type);Object.assign(u,h.initializers),Object.assign(p,h.components)});const f=y.useMemo(()=>new F.Schema({properties:{drawer:{type:"void",title:`{{t("User interface", { ns: "${d}" })}}`,"x-decorator":"Form","x-component":"Action.Drawer","x-component-props":{className:i.css`
|
|
530
|
+
.ant-drawer-body {
|
|
531
|
+
background: var(--nb-box-bg);
|
|
532
|
+
}
|
|
533
|
+
`},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"TabPaneInitializers","x-initializer-props":{gridInitializer:"AddBlockButton"},properties:e!=null?e:{tab1:{type:"void",title:`{{t("Manual", { ns: "${d}" })}}`,"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"AddBlockButton",properties:{}}}}}}}}}}),[]),g=y.useCallback(function(){const{tabs:h}=X.lodash.get(f.toJSON(),"properties.drawer.properties"),m=Array.from(Ce.getValues()).reduce((k,w)=>Object.assign(k,w.config.parseFormOptions(h)),{});l.setValuesIn("forms",m),t(h.properties)},[l,t,f]);return n.jsx(i.SchemaComponentContext.Provider,{value:C(v({},o),{designable:!c.executed,refresh:g}),children:n.jsx(i.SchemaInitializerProvider,{initializers:v(v(v({AddBlockButton:eg,AddActionButton:ng},r.initializers),u),Array.from(Ce.getValues()).reduce((x,h)=>Object.assign(x,h.config.initializers),{})),children:n.jsx(i.SchemaComponent,{schema:f,components:C(v(v({},p),Array.from(Ce.getValues()).reduce((x,h)=>Object.assign(x,h.config.components),{})),{FormBlockProvider:Cn,DetailsBlockProvider:xn,ManualActionStatusProvider(x){return x.children},ActionBarProvider(x){return x.children},SimpleDesigner:Ry,ManualActionDesigner:og}),scope:{useSubmit:sg,useDetailsBlockProps:i.useFormBlockContext}})})})}function ig(e){const{workflow:t}=G(),[o,r]=y.useState(!1);return n.jsxs(n.Fragment,{children:[n.jsx(b.Button,{type:"primary",onClick:()=>r(!0),disabled:!1,children:t.executed?N("View user interface"):N("Configure user interface")}),n.jsx(i.ActionContextProvider,{value:{visible:o,setVisible:r,formValueChanged:!1},children:e.children})]})}function lg({value:e,onChange:t}){return n.jsxs("fieldset",{className:i.css`
|
|
530
534
|
.ant-radio-group {
|
|
531
535
|
.anticon {
|
|
532
536
|
margin-left: 0.5em;
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
"@ant-design/icons": "5.1.4",
|
|
3
|
-
"@nocobase/client": "0.16.0-alpha.
|
|
3
|
+
"@nocobase/client": "0.16.0-alpha.4",
|
|
4
4
|
"antd": "5.8.6",
|
|
5
5
|
"react": "18.2.0",
|
|
6
|
-
"@nocobase/utils": "0.16.0-alpha.
|
|
6
|
+
"@nocobase/utils": "0.16.0-alpha.4",
|
|
7
7
|
"react-router-dom": "6.14.1",
|
|
8
8
|
"react-i18next": "11.18.6",
|
|
9
9
|
"winston": "3.9.0",
|
|
10
|
-
"@nocobase/database": "0.16.0-alpha.
|
|
11
|
-
"@nocobase/server": "0.16.0-alpha.
|
|
12
|
-
"@nocobase/logger": "0.16.0-alpha.
|
|
13
|
-
"@nocobase/evaluators": "0.16.0-alpha.
|
|
10
|
+
"@nocobase/database": "0.16.0-alpha.4",
|
|
11
|
+
"@nocobase/server": "0.16.0-alpha.4",
|
|
12
|
+
"@nocobase/logger": "0.16.0-alpha.4",
|
|
13
|
+
"@nocobase/evaluators": "0.16.0-alpha.4",
|
|
14
14
|
"@formily/react": "2.2.27",
|
|
15
15
|
"@formily/core": "2.2.27",
|
|
16
16
|
"@formily/antd-v5": "1.1.7",
|
|
17
17
|
"lodash": "4.17.21",
|
|
18
|
-
"@nocobase/actions": "0.16.0-alpha.
|
|
18
|
+
"@nocobase/actions": "0.16.0-alpha.4",
|
|
19
19
|
"axios": "0.26.1",
|
|
20
20
|
"sequelize": "6.32.1",
|
|
21
21
|
"dayjs": "1.11.9",
|
|
22
|
-
"@nocobase/resourcer": "0.16.0-alpha.
|
|
22
|
+
"@nocobase/resourcer": "0.16.0-alpha.4"
|
|
23
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2023-11-
|
|
1
|
+
{"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2023-11-24T15:25:40.047Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"8.0.5","author":"Isaac Z. Schlueter <i@izs.me>","keywords":["mru","lru","cache"],"sideEffects":false,"scripts":{"build":"npm run prepare","preprepare":"rm -rf dist","prepare":"tsc -p tsconfig.json && tsc -p tsconfig-esm.json","postprepare":"bash fixup.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"c8 tap","snap":"c8 tap","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","format":"prettier --write .","typedoc":"typedoc --tsconfig tsconfig-esm.json ./src/*.ts","benchmark-results-typedoc":"bash scripts/benchmark-results-typedoc.sh","prebenchmark":"npm run prepare","benchmark":"make -C benchmark","preprofile":"npm run prepare","profile":"make -C benchmark profile"},"main":"./dist/cjs/index-cjs.js","module":"./dist/mjs/index.js","types":"./dist/mjs/index.d.ts","exports":{"./min":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.min.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.min.js"}},".":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index-cjs.js"}}},"repository":"git://github.com/isaacs/node-lru-cache.git","devDependencies":{"@size-limit/preset-small-lib":"^7.0.8","@types/node":"^17.0.31","@types/tap":"^15.0.6","benchmark":"^2.1.4","c8":"^7.11.2","clock-mock":"^1.0.6","esbuild":"^0.17.11","eslint-config-prettier":"^8.5.0","marked":"^4.2.12","mkdirp":"^2.1.5","prettier":"^2.6.2","size-limit":"^7.0.8","tap":"^16.3.4","ts-node":"^10.7.0","tslib":"^2.4.0","typedoc":"^0.23.24","typescript":"^4.6.4"},"license":"ISC","files":["dist"],"engines":{"node":">=16.14"},"prettier":{"semi":false,"printWidth":70,"tabWidth":2,"useTabs":false,"singleQuote":true,"jsxSingleQuote":false,"bracketSameLine":true,"arrowParens":"avoid","endOfLine":"lf"},"tap":{"coverage":false,"node-arg":["--expose-gc","--no-warnings","--loader","ts-node/esm"],"ts":false},"size-limit":[{"path":"./dist/mjs/index.js"}],"_lastModified":"2023-11-
|
|
1
|
+
{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"8.0.5","author":"Isaac Z. Schlueter <i@izs.me>","keywords":["mru","lru","cache"],"sideEffects":false,"scripts":{"build":"npm run prepare","preprepare":"rm -rf dist","prepare":"tsc -p tsconfig.json && tsc -p tsconfig-esm.json","postprepare":"bash fixup.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"c8 tap","snap":"c8 tap","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","format":"prettier --write .","typedoc":"typedoc --tsconfig tsconfig-esm.json ./src/*.ts","benchmark-results-typedoc":"bash scripts/benchmark-results-typedoc.sh","prebenchmark":"npm run prepare","benchmark":"make -C benchmark","preprofile":"npm run prepare","profile":"make -C benchmark profile"},"main":"./dist/cjs/index-cjs.js","module":"./dist/mjs/index.js","types":"./dist/mjs/index.d.ts","exports":{"./min":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.min.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.min.js"}},".":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index-cjs.js"}}},"repository":"git://github.com/isaacs/node-lru-cache.git","devDependencies":{"@size-limit/preset-small-lib":"^7.0.8","@types/node":"^17.0.31","@types/tap":"^15.0.6","benchmark":"^2.1.4","c8":"^7.11.2","clock-mock":"^1.0.6","esbuild":"^0.17.11","eslint-config-prettier":"^8.5.0","marked":"^4.2.12","mkdirp":"^2.1.5","prettier":"^2.6.2","size-limit":"^7.0.8","tap":"^16.3.4","ts-node":"^10.7.0","tslib":"^2.4.0","typedoc":"^0.23.24","typescript":"^4.6.4"},"license":"ISC","files":["dist"],"engines":{"node":">=16.14"},"prettier":{"semi":false,"printWidth":70,"tabWidth":2,"useTabs":false,"singleQuote":true,"jsxSingleQuote":false,"bracketSameLine":true,"arrowParens":"avoid","endOfLine":"lf"},"tap":{"coverage":false,"node-arg":["--expose-gc","--no-warnings","--loader","ts-node/esm"],"ts":false},"size-limit":[{"path":"./dist/mjs/index.js"}],"_lastModified":"2023-11-24T15:25:39.753Z"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"displayName.zh-CN": "工作流",
|
|
5
5
|
"description": "A powerful workflow plugin designed to support business process management and automation.",
|
|
6
6
|
"description.zh-CN": "工作流插件,为业务流程管理和自动化提供支持。",
|
|
7
|
-
"version": "0.16.0-alpha.
|
|
7
|
+
"version": "0.16.0-alpha.4",
|
|
8
8
|
"license": "AGPL-3.0",
|
|
9
9
|
"main": "./dist/server/index.js",
|
|
10
10
|
"devDependencies": {
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"@nocobase/test": "0.x",
|
|
42
42
|
"@nocobase/utils": "0.x"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "98d65186a22281e59209d11a6756712a62667c07"
|
|
45
45
|
}
|