@nocobase/plugin-action-bulk-edit 1.4.19 → 1.4.20
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.
|
@@ -13,3 +13,7 @@ import { SchemaSettings } from '@nocobase/client';
|
|
|
13
13
|
*/
|
|
14
14
|
export declare const deprecatedBulkEditActionSettings: SchemaSettings<{}>;
|
|
15
15
|
export declare const bulkEditActionSettings: SchemaSettings<{}>;
|
|
16
|
+
/**
|
|
17
|
+
* 批量编辑表单的submit 按钮
|
|
18
|
+
*/
|
|
19
|
+
export declare const bulkEditFormSubmitActionSettings: SchemaSettings<{}>;
|
package/dist/client/index.js
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
(function(c,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("@nocobase/client"),require("react/jsx-runtime"),require("@formily/react"),require("react-i18next"),require("@ant-design/icons"),require("@formily/shared"),require("@nocobase/utils/client"),require("antd"),require("react"),require("@emotion/css")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","react/jsx-runtime","@formily/react","react-i18next","@ant-design/icons","@formily/shared","@nocobase/utils/client","antd","react","@emotion/css"],e):(c=typeof globalThis!="undefined"?globalThis:c||self,e(c["@nocobase/plugin-action-bulk-edit"]={},c["@nocobase/client"],c.jsxRuntime,c["@formily/react"],c["react-i18next"],c["@ant-design/icons"],c["@formily/shared"],c["@nocobase/utils"],c.antd,c.react,c["@emotion/css"]))})(this,function(c,e,s,d,k,D,A,z,x,b,ce){"use strict";var Ae=Object.defineProperty,Me=Object.defineProperties;var Te=Object.getOwnPropertyDescriptors;var O=Object.getOwnPropertySymbols;var se=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var ne=(c,e,s)=>e in c?Ae(c,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):c[e]=s,f=(c,e)=>{for(var s in e||(e={}))se.call(e,s)&&ne(c,s,e[s]);if(O)for(var s of O(e))re.call(e,s)&&ne(c,s,e[s]);return c},P=(c,e)=>Me(c,Te(e));var ae=(c,e)=>{var s={};for(var d in c)se.call(c,d)&&e.indexOf(d)<0&&(s[d]=c[d]);if(c!=null&&O)for(var d of O(c))e.indexOf(d)<0&&re.call(c,d)&&(s[d]=c[d]);return s};var M=(c,e,s)=>new Promise((d,k)=>{var D=x=>{try{z(s.next(x))}catch(b){k(b)}},A=x=>{try{z(s.throw(x))}catch(b){k(b)}},z=x=>x.done?d(x.value):Promise.resolve(x.value).then(D,A);z((s=s.apply(c,e)).next())});function G(){var o;const{dn:t}=e.useDesignable(),{t:i}=k.useTranslation(),n=d.useFieldSchema();return s.jsx(e.SchemaSettingsSelectItem,{title:i("Data will be updated"),options:[{label:i("Selected"),value:"selected"},{label:i("Entire collection",{ns:"action-bulk-edit"}),value:"all"}],value:(o=n==null?void 0:n["x-action-settings"])==null?void 0:o.updateMode,onChange:a=>{n["x-action-settings"].updateMode=a,t.emit("patch",{schema:{"x-uid":n["x-uid"],"x-action-settings":n["x-action-settings"]}}),t.refresh()}})}function _(t={}){const{t:i}=k.useTranslation(),n=d.useFieldSchema();return!((n==null?void 0:n.parent["x-component"])==="CollectionField")&&s.jsxs(s.Fragment,{children:[s.jsx(e.SchemaSettingsDivider,{}),s.jsx(e.SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:a=>a["x-component"]==="Space"||a["x-component"].endsWith("ActionBar"),confirm:{title:i("Delete action"),onOk:t.onConfirmOk}})]})}const de=new e.SchemaSettings({name:"ActionSettings:customize:bulkEdit",items:[{name:"editButton",Component:e.ActionDesigner.ButtonEditor,useComponentProps(){const{buttonEditorProps:t}=e.useSchemaToolbar();return t}},{name:"openMode",Component:e.SchemaInitializerOpenModeSchemaItems,useComponentProps(){const t=d.useFieldSchema(),i=["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"");return{openMode:i,openSize:i}}},{name:"updateMode",Component:G},{name:"remove",sort:100,Component:_,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),pe=new e.SchemaSettings({name:"actionSettings:bulkEdit",items:[{name:"editButton",Component:e.ActionDesigner.ButtonEditor,useComponentProps(){const{buttonEditorProps:t}=e.useSchemaToolbar();return t}},{name:"openMode",Component:e.SchemaInitializerOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:t}=e.useOpenModeContext(),i=d.useFieldSchema(),n=["create","update","view","customize:popup","duplicate","customize:create"].includes(i["x-action"]||"");return{openMode:n&&!t,openSize:n&&!t}}},{name:"updateMode",Component:G},{name:"remove",sort:100,Component:_,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),me=t=>s.jsx(e.PopupSettingsProvider,{enableURL:!1,children:s.jsx(e.ACLActionProvider,{children:t.children})}),le=()=>{const{defaultOpenMode:t}=e.useOpenModeContext(),i={type:"void",title:'{{t("Bulk edit")}}',"x-component":"Action","x-action":"customize:bulkEdit","x-action-settings":{updateMode:"selected"},"x-component-props":{openMode:t,icon:"EditOutlined"},properties:{drawer:{type:"void",title:'{{t("Bulk edit")}}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab","x-initializer-props":{gridInitializer:"popup:bulkEdit:addBlock"},properties:{tab1:{type:"void",title:'{{t("Bulk edit")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:bulkEdit:addBlock",properties:{}}}}}}}}}},n=e.useSchemaInitializerItem();return s.jsx(e.BlockInitializer,P(f({},n),{schema:i,item:n}))};function ue(t){const{collectionName:i,association:n,dataSource:o}=t,a=n||i;if(!i||!o)throw new Error("collectionName and dataSource are required");return{type:"void","x-acl-action-props":{skipScopeCheck:!0},"x-acl-action":`${a}:update`,"x-decorator":"FormBlockProvider","x-decorator-props":{dataSource:o,collection:i,association:n},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:createForm","x-component":"CardItem",properties:{[A.uid()]:{type:"void","x-component":"FormV2","x-use-component-props":"useCreateFormBlockProps",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"bulkEditForm:configureFields",properties:{}},[A.uid()]:{type:"void","x-initializer":"bulkEditForm:configureActions","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}}}}}}}}const V=()=>{const h=e.useSchemaInitializerItem(),{onCreateBlockSchema:i,componentType:n,createBlockSchema:o}=h,a=ae(h,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:m}=e.useSchemaInitializer(),{getTemplateSchemaByMode:l}=e.useSchemaTemplateManager(),p=e.useAssociationName(),u=e.useCollection_deprecated();return s.jsx(e.SchemaInitializerItem,P(f({icon:s.jsx(D.FormOutlined,{})},a),{onClick:g=>M(this,[g],function*({item:r}){if(r.template){const S=yield l(r);if(r.template.componentName==="FormItem"){const C=e.createCreateFormBlockUISchema(p?{association:p,dataSource:u.dataSource,templateSchema:S}:{collectionName:u.name,dataSource:u.dataSource,templateSchema:S});r.mode==="reference"&&(C["x-template-key"]=r.template.key),m(C)}else m(S)}else m(ue({association:p,collectionName:u.name,dataSource:u.dataSource}))}),items:e.useRecordCollectionDataSourceItems("FormItem")}))},he=new e.SchemaInitializer({name:"CreateFormBulkEditBlockInitializers",wrap:e.gridRowColWrap,title:'{{t("Add block")}}',icon:"PlusOutlined",items:[{type:"itemGroup",title:'{{t("Data blocks")}}',name:"dataBlocks",children:[{name:"form",title:'{{t("Form")}}',Component:V}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]}),U={wrap:e.gridRowColWrap,title:'{{t("Add block")}}',icon:"PlusOutlined",items:[{type:"itemGroup",title:'{{t("Data blocks")}}',name:"dataBlocks",children:[{name:"form",title:'{{t("Form")}}',Component:V}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},$=new e.CompatibleSchemaInitializer(f({name:"BulkEditBlockInitializers"},U)),Se=new e.CompatibleSchemaInitializer(f({name:"popup:bulkEdit:addBlock"},U),$),j={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{type:"itemGroup",title:'{{t("Enable actions")}}',name:"enableActions",children:[{name:"submit",title:'{{t("Submit")}}',Component:t=>{const i={title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useCustomizeBulkEditActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:updateSubmit","x-component-props":{type:"primary",htmlType:"submit"}};return s.jsx(e.ActionInitializerItem,P(f({},t),{schema:i}))},schema:{"x-action-settings":{}}}]}]},W=new e.CompatibleSchemaInitializer(f({name:"BulkEditFormActionInitializers"},j)),xe=new e.CompatibleSchemaInitializer(f({name:"bulkEditForm:configureActions"},j),W),ge=t=>{const{name:i,fields:n}=e.useCollection_deprecated(),{getInterface:o,getCollection:a}=e.useCollectionManager_deprecated(),m=d.useForm(),{readPretty:l=m.readPretty,block:p="Form"}=t||{},u=e.useRemoveGridFormItem();return b.useMemo(()=>n==null?void 0:n.filter(r=>{var g;return(r==null?void 0:r.interface)&&!((g=r==null?void 0:r.uiSchema)!=null&&g["x-read-pretty"])&&r.interface!=="snapshot"&&r.type!=="sequence"}).map(r=>{var C,I,F;const g=o(r.interface),S={type:"string",name:r.name,title:((C=r==null?void 0:r.uiSchema)==null?void 0:C.title)||r.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:BulkEditFormItem","x-component":"BulkEditField","x-decorator":"FormItem","x-collection-field":`${i}.${r.name}`};return{name:((I=r==null?void 0:r.uiSchema)==null?void 0:I.title)||r.name,type:"item",title:((F=r==null?void 0:r.uiSchema)==null?void 0:F.title)||r.name,Component:"CollectionFieldInitializer",remove:u,schemaInitialize:B=>{var E;(E=g==null?void 0:g.schemaInitialize)==null||E.call(g,B,{field:r,block:p,readPretty:l,targetCollection:a(r.target)})},schema:S}}),[n])},ke=()=>{var K,Q,X,Y;const t=d.useForm(),{t:i}=k.useTranslation(),{field:n,resource:o,__parent:a}=e.useBlockRequestContext(),m=b.useContext(d.SchemaExpressionScopeContext),l=e.useActionContext(),p=e.useNavigateNoUpdate(),u=e.useCompile(),h=d.useField(),r=e.useTableBlockContext(),{modal:g}=x.App.useApp(),{rowKey:S}=r,C=(Y=(X=(Q=(K=r.field)==null?void 0:K.data)==null?void 0:Q.selectedRowKeys)!=null?X:m==null?void 0:m.selectedRecordKeys)!=null?Y:{},{setVisible:I,fieldSchema:F,setSubmitted:B}=l,E=d.useFieldSchema();return{onClick(){return M(this,null,function*(){var Z,R,ee,te,oe,T,ie;const{updateMode:ze}=(Z=F==null?void 0:F["x-action-settings"])!=null?Z:{},{onSuccess:Be,skipValidator:Ee,triggerWorkflows:Oe}=(R=E==null?void 0:E["x-action-settings"])!=null?R:{},{manualClose:we,redirecting:N,redirectTo:y,successMessage:q,actionAfterSuccess:w}=Be||{},{filter:Pe}=(te=(ee=a.service.params)==null?void 0:ee[0])!=null?te:{};Ee||(yield t.submit()),h.data=n.data||{},h.data.loading=!0;try{const v={values:t.values,filter:Pe,forceUpdate:!1};if(ze==="selected"){if(!(C!=null&&C.length)){x.message.error(i("Please select the records to be updated"));return}v.filter={$and:[{[S||"id"]:{$in:C}}]}}if(v.filter||(v.forceUpdate=!0),yield o.update(v),h.data.loading=!1,o instanceof e.TableFieldResource||(ie=(T=(oe=a==null?void 0:a.__parent)==null?void 0:oe.service)==null?void 0:T.refresh)==null||ie.call(T),(w==="previous"||!w&&N!==!0)&&(I==null||I(!1)),B(!0),!q){(N&&!w||w==="redirect")&&y&&(z.isURL(y)?window.location.href=y:p(y));return}we?g.success({title:u(q),onOk:()=>M(this,null,function*(){yield t.reset(),(N&&!w||w==="redirect")&&y&&(z.isURL(y)?window.location.href=y:p(y))})}):x.message.success(u(q))}finally{h.data.loading=!1}})}}},L={wrap:e.gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{name:"displayFields",type:"itemGroup",title:'{{t("Display fields")}}',useChildren:ge},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add Markdown")}}',Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-toolbar":"FormItemSchemaToolbar","x-settings":"blockSettings:markdown","x-component":"Markdown.Void","x-component-props":{content:'{{t("This is a demo text, **supports Markdown syntax**.")}}'}}}]},H=new e.CompatibleSchemaInitializer(f({name:"BulkEditFormItemInitializers"},L)),Ce=new e.CompatibleSchemaInitializer(f({name:"bulkEditForm:configureFields"},L),H),fe=new e.SchemaSettings({name:"fieldSettings:BulkEditFormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t}=k.useTranslation();return{title:t("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var u;const{t}=k.useTranslation(),i=e.useCompile(),{dn:n}=e.useDesignable(),o=d.useField(),a=d.useFieldSchema(),{getCollectionJoinField:m}=e.useCollectionManager_deprecated(),{dataSource:l}=e.useCollection_deprecated(),p=m(a["x-collection-field"],l);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:o==null?void 0:o.title,description:`${t("Original field title: ")}${(u=p==null?void 0:p.uiSchema)==null?void 0:u.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:h}){var g;const r=h.trim()===""?(g=p==null?void 0:p.uiSchema)==null?void 0:g.title:h;o.title=i(r),a.title=h,n.emit("patch",{schema:{"x-uid":a["x-uid"],title:a.title}}),n.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var a,m;const{t}=k.useTranslation(),{dn:i}=e.useDesignable(),n=d.useField(),o=d.useFieldSchema();return{title:t("Display title"),checked:(m=(a=o["x-decorator-props"])==null?void 0:a.showTitle)!=null?m:!0,onChange(l){o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].showTitle=l,n.decoratorProps.showTitle=l,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":P(f({},o["x-decorator-props"]),{showTitle:l})}}),i.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t}=k.useTranslation(),{dn:i}=e.useDesignable(),n=d.useField(),o=d.useFieldSchema();return{title:t("Edit description"),schema:{type:"object",title:t("Edit description"),properties:{description:{default:n==null?void 0:n.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({description:a}){n.description=a,o.description=a,i.emit("patch",{schema:{"x-uid":o["x-uid"],description:o.description}}),i.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var a;const{t}=k.useTranslation(),{dn:i}=e.useDesignable(),n=d.useField(),o=d.useFieldSchema();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(a=o==null?void 0:o["x-decorator-props"])==null?void 0:a.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:m}){n.decoratorProps.tooltip=m,o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].tooltip=m,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}}}},{name:"setValidationRules",type:"modal",Component:e.EditValidationRules,useVisible(){const{form:t}=e.useFormBlockContext(),i=e.useIsFormReadPretty(),n=e.useValidateSchema();return t&&!i&&n}},e.fieldComponentSettingsItem]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t}=k.useTranslation();return{title:t("Specific properties")}},useChildren(){const t=e.useApp(),i=e.useFieldComponentName(),n=t.schemaSettingsManager.get(`fieldSettings:component:${i}`);return(n==null?void 0:n.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t}=k.useTranslation();return{removeParentsIfNoChildren:!0,confirm:{title:t("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),be=t=>{const i=d.useField(),n=d.useFieldSchema(),{uiSchema:o}=e.useCollectionField_deprecated(),a=e.useComponent(o==null?void 0:o["x-component"]),m=e.useCompile(),l=(p,u)=>{i[p]=typeof i[p]=="undefined"?u:i[p]};return b.useEffect(()=>{if(!o)return;l("content",o["x-content"]),l("description",o.description),l("initialValue",o.default),n["x-disabled"]===!0&&(i.disabled=!0),n["x-read-pretty"]===!0&&(i.readPretty=!0),i.required=!0,i.dataSource=o.enum;const p=m(o["x-component-props"])||{},u=A.merge(p,i.componentProps||{});i.componentProps=u},[JSON.stringify(o)]),o?b.createElement(a,t,t.children):null},Ie=d.connect(t=>{const i=d.useFieldSchema();return s.jsx(e.CollectionFieldProvider,{name:i.name,children:s.jsx(be,f({},t))})}),Fe=t=>{const{t:i}=k.useTranslation(),n=d.useFieldSchema(),o=d.useField(),[a,m]=b.useState(1),[l,p]=b.useState(null),{getField:u}=e.useCollection_deprecated(),h=u(n.name)||{};b.useEffect(()=>{o.value=ye({[a]:l}),o.required&&(o.value?(o.modify(),o.form.clearErrors(o.address)):o.modified&&o.form.validate(o.address))},[o,a,l]),b.useEffect(()=>{o.value===null&&p(void 0)},[o.value]);const r=S=>{m(S),o.required=S===2},g=S=>{var C,I,F,B;p((B=(F=(C=S==null?void 0:S.target)==null?void 0:C.value)!=null?F:(I=S==null?void 0:S.target)==null?void 0:I.checked)!=null?B:S)};return s.jsxs(x.Space,{className:ce.css`
|
|
10
|
+
(function(a,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("@nocobase/client"),require("react/jsx-runtime"),require("@formily/react"),require("@formily/shared"),require("react-i18next"),require("@ant-design/icons"),require("@nocobase/utils/client"),require("antd"),require("react"),require("@emotion/css")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","react/jsx-runtime","@formily/react","@formily/shared","react-i18next","@ant-design/icons","@nocobase/utils/client","antd","react","@emotion/css"],e):(a=typeof globalThis!="undefined"?globalThis:a||self,e(a["@nocobase/plugin-action-bulk-edit"]={},a["@nocobase/client"],a.jsxRuntime,a["@formily/react"],a["@formily/shared"],a["react-i18next"],a["@ant-design/icons"],a["@nocobase/utils"],a.antd,a.react,a["@emotion/css"]))})(this,function(a,e,s,c,E,x,O,z,g,b,re){"use strict";var Ae=Object.defineProperty,Me=Object.defineProperties;var Te=Object.getOwnPropertyDescriptors;var v=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var oe=(a,e,s)=>e in a?Ae(a,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[e]=s,f=(a,e)=>{for(var s in e||(e={}))ne.call(e,s)&&oe(a,s,e[s]);if(v)for(var s of v(e))ie.call(e,s)&&oe(a,s,e[s]);return a},A=(a,e)=>Me(a,Te(e));var se=(a,e)=>{var s={};for(var c in a)ne.call(a,c)&&e.indexOf(c)<0&&(s[c]=a[c]);if(a!=null&&v)for(var c of v(a))e.indexOf(c)<0&&ie.call(a,c)&&(s[c]=a[c]);return s};var M=(a,e,s)=>new Promise((c,E)=>{var x=g=>{try{z(s.next(g))}catch(b){E(b)}},O=g=>{try{z(s.throw(g))}catch(b){E(b)}},z=g=>g.done?c(g.value):Promise.resolve(g.value).then(x,O);z((s=s.apply(a,e)).next())});function _(){var o;const{dn:t}=e.useDesignable(),{t:n}=x.useTranslation(),i=c.useFieldSchema();return s.jsx(e.SchemaSettingsSelectItem,{title:n("Data will be updated"),options:[{label:n("Selected"),value:"selected"},{label:n("Entire collection",{ns:"action-bulk-edit"}),value:"all"}],value:(o=i==null?void 0:i["x-action-settings"])==null?void 0:o.updateMode,onChange:m=>{i["x-action-settings"].updateMode=m,t.emit("patch",{schema:{"x-uid":i["x-uid"],"x-action-settings":i["x-action-settings"]}}),t.refresh()}})}function D(t={}){const{t:n}=x.useTranslation(),i=c.useFieldSchema();return!((i==null?void 0:i.parent["x-component"])==="CollectionField")&&s.jsxs(s.Fragment,{children:[s.jsx(e.SchemaSettingsDivider,{}),s.jsx(e.SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:m=>m["x-component"]==="Space"||m["x-component"].endsWith("ActionBar"),confirm:{title:n("Delete action"),onOk:t.onConfirmOk}})]})}const ae=new e.SchemaSettings({name:"ActionSettings:customize:bulkEdit",items:[{name:"editButton",Component:e.ActionDesigner.ButtonEditor,useComponentProps(){const{buttonEditorProps:t}=e.useSchemaToolbar();return t}},{name:"openMode",Component:e.SchemaInitializerOpenModeSchemaItems,useComponentProps(){const t=c.useFieldSchema(),n=["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"");return{openMode:n,openSize:n}}},{name:"updateMode",Component:_},{name:"remove",sort:100,Component:D,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),ce=new e.SchemaSettings({name:"actionSettings:bulkEdit",items:[{name:"editButton",Component:e.ActionDesigner.ButtonEditor,useComponentProps(){const{buttonEditorProps:t}=e.useSchemaToolbar();return t}},{name:"openMode",Component:e.SchemaInitializerOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:t}=e.useOpenModeContext(),n=c.useFieldSchema(),i=["create","update","view","customize:popup","duplicate","customize:create"].includes(n["x-action"]||"");return{openMode:i&&!t,openSize:i&&!t}}},{name:"updateMode",Component:_},{name:"remove",sort:100,Component:D,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),me=new e.SchemaSettings({name:"actionSettings:bulkEditSubmit",items:[{name:"editButton",Component:e.ActionDesigner.ButtonEditor,useComponentProps(){const{buttonEditorProps:t}=e.useSchemaToolbar();return t}},{name:"secondConfirmation",Component:e.SecondConFirm},{name:"workflowConfig",Component:e.WorkflowConfig,useVisible(){var n;const t=c.useFieldSchema();return E.isValid((n=t==null?void 0:t["x-action-settings"])==null?void 0:n.triggerWorkflows)}},{name:"afterSuccessfulSubmission",Component:e.AfterSuccess},{name:"refreshDataBlockRequest",Component:e.RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!0}}},{name:"remove",sort:100,Component:D,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),pe=t=>s.jsx(e.PopupSettingsProvider,{enableURL:!1,children:s.jsx(e.ACLActionProvider,{children:t.children})}),de=()=>{const{defaultOpenMode:t}=e.useOpenModeContext(),n={type:"void",title:'{{t("Bulk edit")}}',"x-component":"Action","x-action":"customize:bulkEdit","x-action-settings":{updateMode:"selected"},"x-component-props":{openMode:t,icon:"EditOutlined"},properties:{drawer:{type:"void",title:'{{t("Bulk edit")}}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab","x-initializer-props":{gridInitializer:"popup:bulkEdit:addBlock"},properties:{tab1:{type:"void",title:'{{t("Bulk edit")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:bulkEdit:addBlock",properties:{}}}}}}}}}},i=e.useSchemaInitializerItem();return s.jsx(e.BlockInitializer,A(f({},i),{schema:n,item:i}))};function le(t){const{collectionName:n,association:i,dataSource:o}=t,m=i||n;if(!n||!o)throw new Error("collectionName and dataSource are required");return{type:"void","x-acl-action-props":{skipScopeCheck:!0},"x-acl-action":`${m}:update`,"x-decorator":"FormBlockProvider","x-decorator-props":{dataSource:o,collection:n,association:i},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:createForm","x-component":"CardItem",properties:{[E.uid()]:{type:"void","x-component":"FormV2","x-use-component-props":"useCreateFormBlockProps",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"bulkEditForm:configureFields",properties:{}},[E.uid()]:{type:"void","x-initializer":"bulkEditForm:configureActions","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}}}}}}}}const G=()=>{const h=e.useSchemaInitializerItem(),{onCreateBlockSchema:n,componentType:i,createBlockSchema:o}=h,m=se(h,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:d}=e.useSchemaInitializer(),{getTemplateSchemaByMode:l}=e.useSchemaTemplateManager(),p=e.useAssociationName(),u=e.useCollection_deprecated();return s.jsx(e.SchemaInitializerItem,A(f({icon:s.jsx(O.FormOutlined,{})},m),{onClick:k=>M(this,[k],function*({item:r}){if(r.template){const S=yield l(r);if(r.template.componentName==="FormItem"){const C=e.createCreateFormBlockUISchema(p?{association:p,dataSource:u.dataSource,templateSchema:S}:{collectionName:u.name,dataSource:u.dataSource,templateSchema:S});r.mode==="reference"&&(C["x-template-key"]=r.template.key),d(C)}else d(S)}else d(le({association:p,collectionName:u.name,dataSource:u.dataSource}))}),items:e.useRecordCollectionDataSourceItems("FormItem")}))},ue=new e.SchemaInitializer({name:"CreateFormBulkEditBlockInitializers",wrap:e.gridRowColWrap,title:'{{t("Add block")}}',icon:"PlusOutlined",items:[{type:"itemGroup",title:'{{t("Data blocks")}}',name:"dataBlocks",children:[{name:"form",title:'{{t("Form")}}',Component:G}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]}),V={wrap:e.gridRowColWrap,title:'{{t("Add block")}}',icon:"PlusOutlined",items:[{type:"itemGroup",title:'{{t("Data blocks")}}',name:"dataBlocks",children:[{name:"form",title:'{{t("Form")}}',Component:G}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},U=new e.CompatibleSchemaInitializer(f({name:"BulkEditBlockInitializers"},V)),he=new e.CompatibleSchemaInitializer(f({name:"popup:bulkEdit:addBlock"},V),U),$={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{type:"itemGroup",title:'{{t("Enable actions")}}',name:"enableActions",children:[{name:"submit",title:'{{t("Submit")}}',Component:t=>{const n={title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useCustomizeBulkEditActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:bulkEditSubmit","x-component-props":{type:"primary",htmlType:"submit"}};return s.jsx(e.ActionInitializerItem,A(f({},t),{schema:n}))},schema:{"x-action-settings":{}}}]}]},j=new e.CompatibleSchemaInitializer(f({name:"BulkEditFormActionInitializers"},$)),Se=new e.CompatibleSchemaInitializer(f({name:"bulkEditForm:configureActions"},$),j),ge=t=>{const{name:n,fields:i}=e.useCollection_deprecated(),{getInterface:o,getCollection:m}=e.useCollectionManager_deprecated(),d=c.useForm(),{readPretty:l=d.readPretty,block:p="Form"}=t||{},u=e.useRemoveGridFormItem();return b.useMemo(()=>i==null?void 0:i.filter(r=>{var k;return(r==null?void 0:r.interface)&&!((k=r==null?void 0:r.uiSchema)!=null&&k["x-read-pretty"])&&r.interface!=="snapshot"&&r.type!=="sequence"}).map(r=>{var C,F,I;const k=o(r.interface),S={type:"string",name:r.name,title:((C=r==null?void 0:r.uiSchema)==null?void 0:C.title)||r.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:BulkEditFormItem","x-component":"BulkEditField","x-decorator":"FormItem","x-collection-field":`${n}.${r.name}`};return{name:((F=r==null?void 0:r.uiSchema)==null?void 0:F.title)||r.name,type:"item",title:((I=r==null?void 0:r.uiSchema)==null?void 0:I.title)||r.name,Component:"CollectionFieldInitializer",remove:u,schemaInitialize:P=>{var y;(y=k==null?void 0:k.schemaInitialize)==null||y.call(k,P,{field:r,block:p,readPretty:l,targetCollection:m(r.target)})},schema:S}}),[i])},ke=()=>{var J,K,Q,X;const t=c.useForm(),{t:n}=x.useTranslation(),{field:i,resource:o,__parent:m}=e.useBlockRequestContext(),d=b.useContext(c.SchemaExpressionScopeContext),l=e.useActionContext(),p=e.useNavigateNoUpdate(),u=e.useCompile(),h=c.useField(),r=e.useTableBlockContext(),{modal:k}=g.App.useApp(),{rowKey:S}=r,C=(X=(Q=(K=(J=r.field)==null?void 0:J.data)==null?void 0:K.selectedRowKeys)!=null?Q:d==null?void 0:d.selectedRecordKeys)!=null?X:{},{setVisible:F,fieldSchema:I,setSubmitted:P}=l,y=c.useFieldSchema();return{onClick(){return M(this,null,function*(){var Y,Z,R,ee,te;const{updateMode:ye}=(Y=I==null?void 0:I["x-action-settings"])!=null?Y:{},{onSuccess:Be,skipValidator:Ee,triggerWorkflows:Oe}=(Z=y==null?void 0:y["x-action-settings"])!=null?Z:{},{refreshDataBlockRequest:ze}=(R=y==null?void 0:y["x-component-props"])!=null?R:{},{manualClose:Pe,redirecting:q,redirectTo:B,successMessage:N,actionAfterSuccess:w}=Be||{},{filter:we}=(te=(ee=m.service.params)==null?void 0:ee[0])!=null?te:{};Ee||(yield t.submit()),h.data=i.data||{},h.data.loading=!0;try{const T={values:t.values,filter:we,forceUpdate:!1};if(ye==="selected"){if(!(C!=null&&C.length)){g.message.error(n("Please select the records to be updated"));return}T.filter={$and:[{[S||"id"]:{$in:C}}]}}if(T.filter||(T.forceUpdate=!0),yield o.update(T),h.data.loading=!1,(w==="previous"||!w&&q!==!0)&&(F==null||F(!1)),ze!==!1&&P(!0),!N){(q&&!w||w==="redirect")&&B&&(z.isURL(B)?window.location.href=B:p(B));return}Pe?k.success({title:u(N),onOk:()=>M(this,null,function*(){yield t.reset(),(q&&!w||w==="redirect")&&B&&(z.isURL(B)?window.location.href=B:p(B))})}):g.message.success(u(N))}finally{h.data.loading=!1}})}}},W={wrap:e.gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{name:"displayFields",type:"itemGroup",title:'{{t("Display fields")}}',useChildren:ge},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add Markdown")}}',Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-toolbar":"FormItemSchemaToolbar","x-settings":"blockSettings:markdown","x-component":"Markdown.Void","x-component-props":{content:'{{t("This is a demo text, **supports Markdown syntax**.")}}'}}}]},L=new e.CompatibleSchemaInitializer(f({name:"BulkEditFormItemInitializers"},W)),xe=new e.CompatibleSchemaInitializer(f({name:"bulkEditForm:configureFields"},W),L),Ce=new e.SchemaSettings({name:"fieldSettings:BulkEditFormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t}=x.useTranslation();return{title:t("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var u;const{t}=x.useTranslation(),n=e.useCompile(),{dn:i}=e.useDesignable(),o=c.useField(),m=c.useFieldSchema(),{getCollectionJoinField:d}=e.useCollectionManager_deprecated(),{dataSource:l}=e.useCollection_deprecated(),p=d(m["x-collection-field"],l);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:o==null?void 0:o.title,description:`${t("Original field title: ")}${(u=p==null?void 0:p.uiSchema)==null?void 0:u.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:h}){var k;const r=h.trim()===""?(k=p==null?void 0:p.uiSchema)==null?void 0:k.title:h;o.title=n(r),m.title=h,i.emit("patch",{schema:{"x-uid":m["x-uid"],title:m.title}}),i.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var m,d;const{t}=x.useTranslation(),{dn:n}=e.useDesignable(),i=c.useField(),o=c.useFieldSchema();return{title:t("Display title"),checked:(d=(m=o["x-decorator-props"])==null?void 0:m.showTitle)!=null?d:!0,onChange(l){o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].showTitle=l,i.decoratorProps.showTitle=l,n.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":A(f({},o["x-decorator-props"]),{showTitle:l})}}),n.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t}=x.useTranslation(),{dn:n}=e.useDesignable(),i=c.useField(),o=c.useFieldSchema();return{title:t("Edit description"),schema:{type:"object",title:t("Edit description"),properties:{description:{default:i==null?void 0:i.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({description:m}){i.description=m,o.description=m,n.emit("patch",{schema:{"x-uid":o["x-uid"],description:o.description}}),n.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var m;const{t}=x.useTranslation(),{dn:n}=e.useDesignable(),i=c.useField(),o=c.useFieldSchema();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(m=o==null?void 0:o["x-decorator-props"])==null?void 0:m.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:d}){i.decoratorProps.tooltip=d,o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].tooltip=d,n.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),n.refresh()}}}},{name:"setValidationRules",type:"modal",Component:e.EditValidationRules,useVisible(){const{form:t}=e.useFormBlockContext(),n=e.useIsFormReadPretty(),i=e.useValidateSchema();return t&&!n&&i}},e.fieldComponentSettingsItem]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t}=x.useTranslation();return{title:t("Specific properties")}},useChildren(){const t=e.useApp(),n=e.useFieldComponentName(),i=t.schemaSettingsManager.get(`fieldSettings:component:${n}`);return(i==null?void 0:i.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t}=x.useTranslation();return{removeParentsIfNoChildren:!0,confirm:{title:t("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),fe=t=>{const n=c.useField(),i=c.useFieldSchema(),{uiSchema:o}=e.useCollectionField_deprecated(),m=e.useComponent(o==null?void 0:o["x-component"]),d=e.useCompile(),l=(p,u)=>{n[p]=typeof n[p]=="undefined"?u:n[p]};return b.useEffect(()=>{if(!o)return;l("content",o["x-content"]),l("description",o.description),l("initialValue",o.default),i["x-disabled"]===!0&&(n.disabled=!0),i["x-read-pretty"]===!0&&(n.readPretty=!0),n.required=!0,n.dataSource=o.enum;const p=d(o["x-component-props"])||{},u=E.merge(p,n.componentProps||{});n.componentProps=u},[JSON.stringify(o)]),o?b.createElement(m,t,t.children):null},be=c.connect(t=>{const n=c.useFieldSchema();return s.jsx(e.CollectionFieldProvider,{name:n.name,children:s.jsx(fe,f({},t))})}),Fe=t=>{const{t:n}=x.useTranslation(),i=c.useFieldSchema(),o=c.useField(),[m,d]=b.useState(1),[l,p]=b.useState(null),{getField:u}=e.useCollection_deprecated(),h=u(i.name)||{};b.useEffect(()=>{o.value=Ie({[m]:l}),o.required&&(o.value?(o.modify(),o.form.clearErrors(o.address)):o.modified&&o.form.validate(o.address))},[o,m,l]),b.useEffect(()=>{o.value===null&&p(void 0)},[o.value]);const r=S=>{d(S),o.required=S===2},k=S=>{var C,F,I,P;p((P=(I=(C=S==null?void 0:S.target)==null?void 0:C.value)!=null?I:(F=S==null?void 0:S.target)==null?void 0:F.checked)!=null?P:S)};return s.jsxs(g.Space,{className:re.css`
|
|
11
11
|
display: flex;
|
|
12
12
|
> .ant-space-item {
|
|
13
13
|
width: 100%;
|
|
14
14
|
}
|
|
15
|
-
`,children:[s.jsxs(
|
|
15
|
+
`,children:[s.jsxs(g.Select,{defaultValue:m,value:m,onChange:r,children:[s.jsx(g.Select.Option,{value:1,children:n("Remains the same")}),s.jsx(g.Select.Option,{value:2,children:n("Changed to")}),s.jsx(g.Select.Option,{value:3,children:n("Clear")})]}),[2,4].includes(m)&&(h==null?void 0:h.interface)!=="checkbox"&&s.jsx(be,A(f({},t),{value:l,onChange:k,style:{minWidth:150}})),[2,4].includes(m)&&(h==null?void 0:h.interface)==="checkbox"&&s.jsx(g.Checkbox,{checked:l,onChange:k})]})};function Ie(t){if(3 in t)return null;if(2 in t)return t[2];if(1 in t)return}class H extends e.Plugin{load(){return M(this,null,function*(){this.app.addComponents({BulkEditField:Fe,BulkEditActionDecorator:pe}),this.app.addScopes({useCustomizeBulkEditActionProps:ke}),this.app.schemaSettingsManager.add(ae),this.app.schemaSettingsManager.add(ce),this.app.schemaSettingsManager.add(me),this.app.schemaSettingsManager.add(Ce),this.app.schemaInitializerManager.add(L),this.app.schemaInitializerManager.add(xe),this.app.schemaInitializerManager.add(ue),this.app.schemaInitializerManager.add(U),this.app.schemaInitializerManager.add(he),this.app.schemaInitializerManager.add(j),this.app.schemaInitializerManager.add(Se);const n={type:"item",title:'{{t("Bulk edit")}}',name:"bulkEdit",Component:de,schema:{"x-align":"right","x-decorator":"BulkEditActionDecorator","x-action":"customize:bulkEdit","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:bulkEdit","x-acl-action":"update","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>e.useActionAvailable("updateMany")};this.app.schemaInitializerManager.addItem("table:configureActions","customize.bulkEdit",n),this.app.schemaInitializerManager.addItem("gantt:configureActions","customize.bulkEdit",n),this.app.schemaInitializerManager.addItem("map:configureActions","customize.bulkEdit",n)})}}a.PluginActionBulkEditClient=H,a.default=H,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/externalVersion.js
CHANGED
|
@@ -9,17 +9,17 @@
|
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
11
|
"@formily/react": "2.3.0",
|
|
12
|
-
"@nocobase/client": "1.4.
|
|
12
|
+
"@nocobase/client": "1.4.20",
|
|
13
13
|
"antd": "5.12.8",
|
|
14
|
+
"@formily/shared": "2.3.2",
|
|
14
15
|
"react": "18.2.0",
|
|
15
16
|
"react-i18next": "11.18.6",
|
|
16
17
|
"@ant-design/icons": "5.2.6",
|
|
17
18
|
"@formily/antd-v5": "1.1.9",
|
|
18
19
|
"@formily/core": "2.3.0",
|
|
19
20
|
"lodash": "4.17.21",
|
|
20
|
-
"@
|
|
21
|
-
"@nocobase/
|
|
22
|
-
"@nocobase/
|
|
23
|
-
"@nocobase/test": "1.4.19",
|
|
21
|
+
"@nocobase/utils": "1.4.20",
|
|
22
|
+
"@nocobase/server": "1.4.20",
|
|
23
|
+
"@nocobase/test": "1.4.20",
|
|
24
24
|
"@emotion/css": "11.13.0"
|
|
25
25
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-action-bulk-edit",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.20",
|
|
4
4
|
"main": "dist/server/index.js",
|
|
5
5
|
"homepage": "https://docs.nocobase.com/handbook/action-bulk-edit",
|
|
6
6
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"@nocobase/server": "1.x",
|
|
15
15
|
"@nocobase/test": "1.x"
|
|
16
16
|
},
|
|
17
|
-
"gitHead": "
|
|
17
|
+
"gitHead": "13b73921752eeadfd75993ec4088c860edfefc8f",
|
|
18
18
|
"keywords": [
|
|
19
19
|
"Actions"
|
|
20
20
|
]
|