@nocobase/plugin-action-bulk-edit 1.3.3-beta → 1.3.5-beta
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.
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import { FC } from 'react';
|
|
10
|
+
export declare const BulkEditActionDecorator: FC;
|
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(a,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):(a=typeof globalThis!="undefined"?globalThis:a||self,e(a["@nocobase/plugin-action-bulk-edit"]={},a["@nocobase/client"],a.jsxRuntime,a["@formily/react"],a["react-i18next"],a["@ant-design/icons"],a["@formily/shared"],a["@nocobase/utils"],a.antd,a.react,a["@emotion/css"]))})(this,function(a,e,s,d,k,O,E,T,S,F,ie){"use strict";var Fe=Object.defineProperty,Ie=Object.defineProperties;var ye=Object.getOwnPropertyDescriptors;var v=Object.getOwnPropertySymbols;var ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable;var R=(a,e,s)=>e in a?Fe(a,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[e]=s,b=(a,e)=>{for(var s in e||(e={}))ee.call(e,s)&&R(a,s,e[s]);if(v)for(var s of v(e))te.call(e,s)&&R(a,s,e[s]);return a},B=(a,e)=>Ie(a,ye(e));var oe=(a,e)=>{var s={};for(var d in a)ee.call(a,d)&&e.indexOf(d)<0&&(s[d]=a[d]);if(a!=null&&v)for(var d of v(a))e.indexOf(d)<0&&te.call(a,d)&&(s[d]=a[d]);return s};var P=(a,e,s)=>new Promise((d,k)=>{var O=S=>{try{T(s.next(S))}catch(F){k(F)}},E=S=>{try{T(s.throw(S))}catch(F){k(F)}},T=S=>S.done?d(S.value):Promise.resolve(S.value).then(O,E);T((s=s.apply(a,e)).next())});function D(){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("All"),value:"all"}],value:(o=n==null?void 0:n["x-action-settings"])==null?void 0:o.updateMode,onChange:c=>{n["x-action-settings"].updateMode=c,t.emit("patch",{schema:{"x-uid":n["x-uid"],"x-action-settings":n["x-action-settings"]}}),t.refresh()}})}function N(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:c=>c["x-component"]==="Space"||c["x-component"].endsWith("ActionBar"),confirm:{title:i("Delete action"),onOk:t.onConfirmOk}})]})}const ne=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:D},{name:"remove",sort:100,Component:N,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),se=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:D},{name:"remove",sort:100,Component:N,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),ae=()=>{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,B(b({},n),{schema:i,item:n}))};function re(t){const{collectionName:i,association:n,dataSource:o}=t,c=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":`${c}:update`,"x-decorator":"FormBlockProvider","x-decorator-props":{dataSource:o,collection:i,association:n},"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 q=()=>{const x=e.useSchemaInitializerItem(),{onCreateBlockSchema:i,componentType:n,createBlockSchema:o}=x,c=oe(x,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:m}=e.useSchemaInitializer(),{getTemplateSchemaByMode:p}=e.useSchemaTemplateManager(),h=e.useAssociationName(),l=e.useCollection_deprecated();return s.jsx(e.SchemaInitializerItem,B(b({icon:s.jsx(O.FormOutlined,{})},c),{onClick:C=>P(this,[C],function*({item:r}){if(r.template){const g=yield p(r);if(r.template.componentName==="FormItem"){const f=e.createCreateFormBlockUISchema(h?{association:h,dataSource:l.dataSource,templateSchema:g}:{collectionName:l.name,dataSource:l.dataSource,templateSchema:g});r.mode==="reference"&&(f["x-template-key"]=r.template.key),m(f)}else m(g)}else m(re({association:h,collectionName:l.name,dataSource:l.dataSource}))}),items:e.useRecordCollectionDataSourceItems("FormItem")}))},ce=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:q}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]}),G={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:q}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},_=new e.CompatibleSchemaInitializer(b({name:"BulkEditBlockInitializers"},G)),de=new e.CompatibleSchemaInitializer(b({name:"popup:bulkEdit:addBlock"},G),_),V={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,B(b({},t),{schema:i}))},schema:{"x-action-settings":{}}}]}]},$=new e.CompatibleSchemaInitializer(b({name:"BulkEditFormActionInitializers"},V)),me=new e.CompatibleSchemaInitializer(b({name:"bulkEditForm:configureActions"},V),$),pe=t=>{const{name:i,fields:n}=e.useCollection_deprecated(),{getInterface:o,getCollection:c}=e.useCollectionManager_deprecated(),m=d.useForm(),{readPretty:p=m.readPretty,block:h="Form"}=t||{},l=e.useRemoveGridFormItem();return F.useMemo(()=>n==null?void 0:n.filter(r=>{var C;return(r==null?void 0:r.interface)&&!((C=r==null?void 0:r.uiSchema)!=null&&C["x-read-pretty"])&&r.interface!=="snapshot"&&r.type!=="sequence"}).map(r=>{var f,I,y;const C=o(r.interface),g={type:"string",name:r.name,title:((f=r==null?void 0:r.uiSchema)==null?void 0:f.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:((y=r==null?void 0:r.uiSchema)==null?void 0:y.title)||r.name,Component:"CollectionFieldInitializer",remove:l,schemaInitialize:z=>{var M;(M=C==null?void 0:C.schemaInitialize)==null||M.call(C,z,{field:r,block:h,readPretty:p,targetCollection:c(r.target)})},schema:g}}),[n])},le=()=>{var M,H,J,K;const t=d.useForm(),{t:i}=k.useTranslation(),{field:n,resource:o,__parent:c}=e.useBlockRequestContext(),m=F.useContext(d.SchemaExpressionScopeContext),p=e.useActionContext(),h=e.useNavigateNoUpdate(),l=e.useCompile(),x=d.useField(),r=e.useTableBlockContext(),{modal:C}=S.App.useApp(),{rowKey:g}=r,f=(K=(J=(H=(M=r.field)==null?void 0:M.data)==null?void 0:H.selectedRowKeys)!=null?J:m==null?void 0:m.selectedRecordKeys)!=null?K:{},{setVisible:I,fieldSchema:y,setSubmitted:z}=p;return{onClick(){return P(this,null,function*(){var L,Q,X,Y,w,Z;const{onSuccess:u,skipValidator:Ce,updateMode:fe}=(L=y==null?void 0:y["x-action-settings"])!=null?L:{},{filter:be}=(X=(Q=c.service.params)==null?void 0:Q[0])!=null?X:{};Ce||(yield t.submit()),x.data=n.data||{},x.data.loading=!0;try{const A={values:t.values,filter:be,forceUpdate:!1};if(fe==="selected"){if(!(f!=null&&f.length)){S.message.error(i("Please select the records to be updated"));return}A.filter={$and:[{[g||"id"]:{$in:f}}]}}if(A.filter||(A.forceUpdate=!0),yield o.update(A),x.data.loading=!1,o instanceof e.TableFieldResource||(Z=(w=(Y=c==null?void 0:c.__parent)==null?void 0:Y.service)==null?void 0:w.refresh)==null||Z.call(w),I==null||I(!1),z(!0),!(u!=null&&u.successMessage))return;u!=null&&u.manualClose?C.success({title:l(u==null?void 0:u.successMessage),onOk:()=>P(this,null,function*(){yield t.reset(),u!=null&&u.redirecting&&(u!=null&&u.redirectTo)&&(T.isURL(u.redirectTo)?window.location.href=u.redirectTo:h(u.redirectTo))})}):S.message.success(l(u==null?void 0:u.successMessage))}finally{x.data.loading=!1}})}}},j={wrap:e.gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{name:"displayFields",type:"itemGroup",title:'{{t("Display fields")}}',useChildren:pe},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add text")}}',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**.")}}'}}}]},U=new e.CompatibleSchemaInitializer(b({name:"BulkEditFormItemInitializers"},j)),ue=new e.CompatibleSchemaInitializer(b({name:"bulkEditForm:configureFields"},j),U),he=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 h;const{t}=k.useTranslation(),{dn:i}=e.useDesignable(),n=d.useField(),o=d.useFieldSchema(),{getCollectionJoinField:c}=e.useCollectionManager_deprecated(),{dataSource:m}=e.useCollection_deprecated(),p=c(o["x-collection-field"],m);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:n==null?void 0:n.title,description:`${t("Original field title: ")}${(h=p==null?void 0:p.uiSchema)==null?void 0:h.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:l}){l&&(n.title=l,o.title=l,i.emit("patch",{schema:{"x-uid":o["x-uid"],title:o.title}})),i.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var c,m;const{t}=k.useTranslation(),{dn:i}=e.useDesignable(),n=d.useField(),o=d.useFieldSchema();return{title:t("Display title"),checked:(m=(c=o["x-decorator-props"])==null?void 0:c.showTitle)!=null?m:!0,onChange(p){o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].showTitle=p,n.decoratorProps.showTitle=p,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":B(b({},o["x-decorator-props"]),{showTitle:p})}}),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:c}){n.description=c,o.description=c,i.emit("patch",{schema:{"x-uid":o["x-uid"],description:o.description}}),i.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var c;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:(c=o==null?void 0:o["x-decorator-props"])==null?void 0:c.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"}}}}]}),xe=t=>{const i=d.useField(),n=d.useFieldSchema(),{uiSchema:o}=e.useCollectionField_deprecated(),c=e.useComponent(o==null?void 0:o["x-component"]),m=e.useCompile(),p=(l,x)=>{i[l]=typeof i[l]=="undefined"?x:i[l]},h=e.useFormBlockContext();return F.useEffect(()=>{h!=null&&h.field&&(h.field.added=h.field.added||new Set,h.field.added.add(n.name))}),F.useEffect(()=>{if(!o)return;p("content",o["x-content"]),p("description",o.description),p("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 l=m(o["x-component-props"])||{},x=E.merge(l,i.componentProps||{});i.componentProps=x},[JSON.stringify(o)]),o?F.createElement(c,t,t.children):null},ge=d.connect(t=>{const i=d.useFieldSchema();return s.jsx(e.CollectionFieldProvider,{name:i.name,children:s.jsx(xe,b({},t))})}),Se=t=>{const{t:i}=k.useTranslation(),n=d.useFieldSchema(),o=d.useField(),[c,m]=F.useState(2),[p,h]=F.useState(null),{getField:l}=e.useCollection_deprecated(),x=l(n.name)||{};F.useEffect(()=>{o.value=ke({[c]:p}),o.required&&(o.value?(o.modify(),o.form.clearErrors(o.address)):o.modified&&o.form.validate(o.address))},[o,c,p]);const r=g=>{m(g),o.required=g===2},C=g=>{var f,I,y,z;h((z=(y=(f=g==null?void 0:g.target)==null?void 0:f.value)!=null?y:(I=g==null?void 0:g.target)==null?void 0:I.checked)!=null?z:g)};return s.jsxs(S.Space,{className:ie.css`
|
|
10
|
+
(function(s,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):(s=typeof globalThis!="undefined"?globalThis:s||self,e(s["@nocobase/plugin-action-bulk-edit"]={},s["@nocobase/client"],s.jsxRuntime,s["@formily/react"],s["react-i18next"],s["@ant-design/icons"],s["@formily/shared"],s["@nocobase/utils"],s.antd,s.react,s["@emotion/css"]))})(this,function(s,e,a,d,k,O,E,T,S,F,ie){"use strict";var Ie=Object.defineProperty,ye=Object.defineProperties;var ze=Object.getOwnPropertyDescriptors;var v=Object.getOwnPropertySymbols;var ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable;var R=(s,e,a)=>e in s?Ie(s,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[e]=a,b=(s,e)=>{for(var a in e||(e={}))ee.call(e,a)&&R(s,a,e[a]);if(v)for(var a of v(e))te.call(e,a)&&R(s,a,e[a]);return s},B=(s,e)=>ye(s,ze(e));var oe=(s,e)=>{var a={};for(var d in s)ee.call(s,d)&&e.indexOf(d)<0&&(a[d]=s[d]);if(s!=null&&v)for(var d of v(s))e.indexOf(d)<0&&te.call(s,d)&&(a[d]=s[d]);return a};var P=(s,e,a)=>new Promise((d,k)=>{var O=S=>{try{T(a.next(S))}catch(F){k(F)}},E=S=>{try{T(a.throw(S))}catch(F){k(F)}},T=S=>S.done?d(S.value):Promise.resolve(S.value).then(O,E);T((a=a.apply(s,e)).next())});function D(){var o;const{dn:t}=e.useDesignable(),{t:i}=k.useTranslation(),n=d.useFieldSchema();return a.jsx(e.SchemaSettingsSelectItem,{title:i("Data will be updated"),options:[{label:i("Selected"),value:"selected"},{label:i("All"),value:"all"}],value:(o=n==null?void 0:n["x-action-settings"])==null?void 0:o.updateMode,onChange:c=>{n["x-action-settings"].updateMode=c,t.emit("patch",{schema:{"x-uid":n["x-uid"],"x-action-settings":n["x-action-settings"]}}),t.refresh()}})}function N(t={}){const{t:i}=k.useTranslation(),n=d.useFieldSchema();return!((n==null?void 0:n.parent["x-component"])==="CollectionField")&&a.jsxs(a.Fragment,{children:[a.jsx(e.SchemaSettingsDivider,{}),a.jsx(e.SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:c=>c["x-component"]==="Space"||c["x-component"].endsWith("ActionBar"),confirm:{title:i("Delete action"),onOk:t.onConfirmOk}})]})}const ne=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:D},{name:"remove",sort:100,Component:N,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),ae=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:D},{name:"remove",sort:100,Component:N,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),se=t=>a.jsx(e.PopupSettingsProvider,{enableURL:!1,children:a.jsx(e.ACLActionProvider,{children:t.children})}),re=()=>{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 a.jsx(e.BlockInitializer,B(b({},n),{schema:i,item:n}))};function ce(t){const{collectionName:i,association:n,dataSource:o}=t,c=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":`${c}:update`,"x-decorator":"FormBlockProvider","x-decorator-props":{dataSource:o,collection:i,association:n},"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 q=()=>{const x=e.useSchemaInitializerItem(),{onCreateBlockSchema:i,componentType:n,createBlockSchema:o}=x,c=oe(x,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:p}=e.useSchemaInitializer(),{getTemplateSchemaByMode:m}=e.useSchemaTemplateManager(),h=e.useAssociationName(),l=e.useCollection_deprecated();return a.jsx(e.SchemaInitializerItem,B(b({icon:a.jsx(O.FormOutlined,{})},c),{onClick:C=>P(this,[C],function*({item:r}){if(r.template){const g=yield m(r);if(r.template.componentName==="FormItem"){const f=e.createCreateFormBlockUISchema(h?{association:h,dataSource:l.dataSource,templateSchema:g}:{collectionName:l.name,dataSource:l.dataSource,templateSchema:g});r.mode==="reference"&&(f["x-template-key"]=r.template.key),p(f)}else p(g)}else p(ce({association:h,collectionName:l.name,dataSource:l.dataSource}))}),items:e.useRecordCollectionDataSourceItems("FormItem")}))},de=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:q}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]}),G={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:q}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},_=new e.CompatibleSchemaInitializer(b({name:"BulkEditBlockInitializers"},G)),pe=new e.CompatibleSchemaInitializer(b({name:"popup:bulkEdit:addBlock"},G),_),V={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 a.jsx(e.ActionInitializerItem,B(b({},t),{schema:i}))},schema:{"x-action-settings":{}}}]}]},$=new e.CompatibleSchemaInitializer(b({name:"BulkEditFormActionInitializers"},V)),me=new e.CompatibleSchemaInitializer(b({name:"bulkEditForm:configureActions"},V),$),le=t=>{const{name:i,fields:n}=e.useCollection_deprecated(),{getInterface:o,getCollection:c}=e.useCollectionManager_deprecated(),p=d.useForm(),{readPretty:m=p.readPretty,block:h="Form"}=t||{},l=e.useRemoveGridFormItem();return F.useMemo(()=>n==null?void 0:n.filter(r=>{var C;return(r==null?void 0:r.interface)&&!((C=r==null?void 0:r.uiSchema)!=null&&C["x-read-pretty"])&&r.interface!=="snapshot"&&r.type!=="sequence"}).map(r=>{var f,I,y;const C=o(r.interface),g={type:"string",name:r.name,title:((f=r==null?void 0:r.uiSchema)==null?void 0:f.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:((y=r==null?void 0:r.uiSchema)==null?void 0:y.title)||r.name,Component:"CollectionFieldInitializer",remove:l,schemaInitialize:z=>{var M;(M=C==null?void 0:C.schemaInitialize)==null||M.call(C,z,{field:r,block:h,readPretty:m,targetCollection:c(r.target)})},schema:g}}),[n])},ue=()=>{var M,L,H,J;const t=d.useForm(),{t:i}=k.useTranslation(),{field:n,resource:o,__parent:c}=e.useBlockRequestContext(),p=F.useContext(d.SchemaExpressionScopeContext),m=e.useActionContext(),h=e.useNavigateNoUpdate(),l=e.useCompile(),x=d.useField(),r=e.useTableBlockContext(),{modal:C}=S.App.useApp(),{rowKey:g}=r,f=(J=(H=(L=(M=r.field)==null?void 0:M.data)==null?void 0:L.selectedRowKeys)!=null?H:p==null?void 0:p.selectedRecordKeys)!=null?J:{},{setVisible:I,fieldSchema:y,setSubmitted:z}=m;return{onClick(){return P(this,null,function*(){var K,Q,X,Y,A,Z;const{onSuccess:u,skipValidator:fe,updateMode:be}=(K=y==null?void 0:y["x-action-settings"])!=null?K:{},{filter:Fe}=(X=(Q=c.service.params)==null?void 0:Q[0])!=null?X:{};fe||(yield t.submit()),x.data=n.data||{},x.data.loading=!0;try{const w={values:t.values,filter:Fe,forceUpdate:!1};if(be==="selected"){if(!(f!=null&&f.length)){S.message.error(i("Please select the records to be updated"));return}w.filter={$and:[{[g||"id"]:{$in:f}}]}}if(w.filter||(w.forceUpdate=!0),yield o.update(w),x.data.loading=!1,o instanceof e.TableFieldResource||(Z=(A=(Y=c==null?void 0:c.__parent)==null?void 0:Y.service)==null?void 0:A.refresh)==null||Z.call(A),I==null||I(!1),z(!0),!(u!=null&&u.successMessage))return;u!=null&&u.manualClose?C.success({title:l(u==null?void 0:u.successMessage),onOk:()=>P(this,null,function*(){yield t.reset(),u!=null&&u.redirecting&&(u!=null&&u.redirectTo)&&(T.isURL(u.redirectTo)?window.location.href=u.redirectTo:h(u.redirectTo))})}):S.message.success(l(u==null?void 0:u.successMessage))}finally{x.data.loading=!1}})}}},j={wrap:e.gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{name:"displayFields",type:"itemGroup",title:'{{t("Display fields")}}',useChildren:le},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add text")}}',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**.")}}'}}}]},U=new e.CompatibleSchemaInitializer(b({name:"BulkEditFormItemInitializers"},j)),he=new e.CompatibleSchemaInitializer(b({name:"bulkEditForm:configureFields"},j),U),xe=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 h;const{t}=k.useTranslation(),{dn:i}=e.useDesignable(),n=d.useField(),o=d.useFieldSchema(),{getCollectionJoinField:c}=e.useCollectionManager_deprecated(),{dataSource:p}=e.useCollection_deprecated(),m=c(o["x-collection-field"],p);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:n==null?void 0:n.title,description:`${t("Original field title: ")}${(h=m==null?void 0:m.uiSchema)==null?void 0:h.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:l}){l&&(n.title=l,o.title=l,i.emit("patch",{schema:{"x-uid":o["x-uid"],title:o.title}})),i.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var c,p;const{t}=k.useTranslation(),{dn:i}=e.useDesignable(),n=d.useField(),o=d.useFieldSchema();return{title:t("Display title"),checked:(p=(c=o["x-decorator-props"])==null?void 0:c.showTitle)!=null?p:!0,onChange(m){o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].showTitle=m,n.decoratorProps.showTitle=m,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":B(b({},o["x-decorator-props"]),{showTitle:m})}}),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:c}){n.description=c,o.description=c,i.emit("patch",{schema:{"x-uid":o["x-uid"],description:o.description}}),i.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var c;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:(c=o==null?void 0:o["x-decorator-props"])==null?void 0:c.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:p}){n.decoratorProps.tooltip=p,o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].tooltip=p,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"}}}}]}),ge=t=>{const i=d.useField(),n=d.useFieldSchema(),{uiSchema:o}=e.useCollectionField_deprecated(),c=e.useComponent(o==null?void 0:o["x-component"]),p=e.useCompile(),m=(l,x)=>{i[l]=typeof i[l]=="undefined"?x:i[l]},h=e.useFormBlockContext();return F.useEffect(()=>{h!=null&&h.field&&(h.field.added=h.field.added||new Set,h.field.added.add(n.name))}),F.useEffect(()=>{if(!o)return;m("content",o["x-content"]),m("description",o.description),m("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 l=p(o["x-component-props"])||{},x=E.merge(l,i.componentProps||{});i.componentProps=x},[JSON.stringify(o)]),o?F.createElement(c,t,t.children):null},Se=d.connect(t=>{const i=d.useFieldSchema();return a.jsx(e.CollectionFieldProvider,{name:i.name,children:a.jsx(ge,b({},t))})}),ke=t=>{const{t:i}=k.useTranslation(),n=d.useFieldSchema(),o=d.useField(),[c,p]=F.useState(1),[m,h]=F.useState(null),{getField:l}=e.useCollection_deprecated(),x=l(n.name)||{};F.useEffect(()=>{o.value=Ce({[c]:m}),o.required&&(o.value?(o.modify(),o.form.clearErrors(o.address)):o.modified&&o.form.validate(o.address))},[o,c,m]);const r=g=>{p(g),o.required=g===2},C=g=>{var f,I,y,z;h((z=(y=(f=g==null?void 0:g.target)==null?void 0:f.value)!=null?y:(I=g==null?void 0:g.target)==null?void 0:I.checked)!=null?z:g)};return a.jsxs(S.Space,{className:ie.css`
|
|
11
11
|
display: flex;
|
|
12
12
|
> .ant-space-item {
|
|
13
13
|
width: 100%;
|
|
14
14
|
}
|
|
15
|
-
`,children:[
|
|
15
|
+
`,children:[a.jsxs(S.Select,{defaultValue:c,value:c,onChange:r,children:[a.jsx(S.Select.Option,{value:1,children:i("Remains the same")}),a.jsx(S.Select.Option,{value:2,children:i("Changed to")}),a.jsx(S.Select.Option,{value:3,children:i("Clear")})]}),[2,4].includes(c)&&(x==null?void 0:x.interface)!=="checkbox"&&a.jsx(Se,B(b({},t),{value:m,onChange:C,style:{minWidth:150}})),[2,4].includes(c)&&(x==null?void 0:x.interface)==="checkbox"&&a.jsx(S.Checkbox,{checked:m,onChange:C})]})};function Ce(t){if(3 in t)return null;if(2 in t)return t[2];if(1 in t)return}class W extends e.Plugin{load(){return P(this,null,function*(){this.app.addComponents({BulkEditField:ke,BulkEditActionDecorator:se}),this.app.addScopes({useCustomizeBulkEditActionProps:ue}),this.app.schemaSettingsManager.add(ne),this.app.schemaSettingsManager.add(ae),this.app.schemaSettingsManager.add(xe),this.app.schemaInitializerManager.add(U),this.app.schemaInitializerManager.add(he),this.app.schemaInitializerManager.add(de),this.app.schemaInitializerManager.add(_),this.app.schemaInitializerManager.add(pe),this.app.schemaInitializerManager.add($),this.app.schemaInitializerManager.add(me);const i={type:"item",title:'{{t("Bulk edit")}}',name:"bulkEdit",Component:re,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",i),this.app.schemaInitializerManager.addItem("gantt:configureActions","customize.bulkEdit",i),this.app.schemaInitializerManager.addItem("map:configureActions","customize.bulkEdit",i)})}}s.PluginActionBulkEditClient=W,s.default=W,Object.defineProperties(s,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/externalVersion.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
11
|
"@formily/react": "2.3.0",
|
|
12
|
-
"@nocobase/client": "1.3.
|
|
12
|
+
"@nocobase/client": "1.3.5-beta",
|
|
13
13
|
"antd": "5.12.8",
|
|
14
14
|
"react": "18.2.0",
|
|
15
15
|
"react-i18next": "11.18.6",
|
|
@@ -18,8 +18,8 @@ module.exports = {
|
|
|
18
18
|
"@formily/core": "2.3.0",
|
|
19
19
|
"lodash": "4.17.21",
|
|
20
20
|
"@formily/shared": "2.3.0",
|
|
21
|
-
"@nocobase/utils": "1.3.
|
|
22
|
-
"@nocobase/server": "1.3.
|
|
23
|
-
"@nocobase/test": "1.3.
|
|
21
|
+
"@nocobase/utils": "1.3.5-beta",
|
|
22
|
+
"@nocobase/server": "1.3.5-beta",
|
|
23
|
+
"@nocobase/test": "1.3.5-beta",
|
|
24
24
|
"@emotion/css": "11.11.2"
|
|
25
25
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-action-bulk-edit",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.5-beta",
|
|
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": "2854294d7e47b1f82ef41cda654cd527826a94ab",
|
|
18
18
|
"keywords": [
|
|
19
19
|
"Actions"
|
|
20
20
|
]
|