@nocobase/plugin-action-bulk-edit 0.20.0-alpha.10 → 0.20.0-alpha.11
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.
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import { SchemaInitializer } from '@nocobase/client';
|
|
1
|
+
import { CompatibleSchemaInitializer, SchemaInitializer } from '@nocobase/client';
|
|
2
2
|
/**
|
|
3
3
|
* @deprecated
|
|
4
4
|
* 之所以还保留,仅是为了兼容旧版 schema
|
|
5
5
|
*/
|
|
6
6
|
export declare const CreateFormBulkEditBlockInitializers: SchemaInitializer;
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated
|
|
9
|
+
*/
|
|
10
|
+
export declare const BulkEditBlockInitializers_deprecated: CompatibleSchemaInitializer;
|
|
11
|
+
export declare const bulkEditBlockInitializers: CompatibleSchemaInitializer;
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { CompatibleSchemaInitializer } from '@nocobase/client';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated
|
|
4
|
+
*/
|
|
5
|
+
export declare const BulkEditFormActionInitializers_deprecated: CompatibleSchemaInitializer;
|
|
6
|
+
export declare const bulkEditFormActionInitializers: CompatibleSchemaInitializer;
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { CompatibleSchemaInitializer } from '@nocobase/client';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated
|
|
4
|
+
*/
|
|
5
|
+
export declare const BulkEditFormItemInitializers_deprecated: CompatibleSchemaInitializer;
|
|
6
|
+
export declare const bulkEditFormItemInitializers: CompatibleSchemaInitializer;
|
package/dist/client/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(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("react"),require("antd"),require("react-router-dom"),require("lodash"),require("@nocobase/utils/client"),require("@emotion/css"),require("@formily/shared"),require("@ant-design/icons"),require("@formily/antd-v5")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","react/jsx-runtime","@formily/react","react-i18next","react","antd","react-router-dom","lodash","@nocobase/utils/client","@emotion/css","@formily/shared","@ant-design/icons","@formily/antd-v5"],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.react,a.antd,a["react-router-dom"],a.lodash,a["@nocobase/utils"],a["@emotion/css"],a["@formily/shared"],a["@ant-design/icons"],a["@formily/antd-v5"]))})(this,function(a,e,r,d,S,F,k,T,y,E,se,ce,de,_){"use strict";var ve=Object.defineProperty,ze=Object.defineProperties;var we=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable;var ie=(a,e,r)=>e in a?ve(a,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[e]=r,z=(a,e)=>{for(var r in e||(e={}))ne.call(e,r)&&ie(a,r,e[r]);if(j)for(var r of j(e))ae.call(e,r)&&ie(a,r,e[r]);return a},A=(a,e)=>ze(a,we(e));var re=(a,e)=>{var r={};for(var d in a)ne.call(a,d)&&e.indexOf(d)<0&&(r[d]=a[d]);if(a!=null&&j)for(var d of j(a))e.indexOf(d)<0&&ae.call(a,d)&&(r[d]=a[d]);return r};var O=(a,e,r)=>new Promise((d,S)=>{var F=y=>{try{T(r.next(y))}catch(E){S(E)}},k=y=>{try{T(r.throw(y))}catch(E){S(E)}},T=y=>y.done?d(y.value):Promise.resolve(y.value).then(F,k);T((r=r.apply(a,e)).next())});function $(){var s;const{dn:t}=e.useDesignable(),{t:o}=S.useTranslation(),i=d.useFieldSchema();return r.jsx(e.SchemaSettingsSelectItem,{title:o("Data will be updated"),options:[{label:o("Selected"),value:"selected"},{label:o("All"),value:"all"}],value:(s=i==null?void 0:i["x-action-settings"])==null?void 0:s.updateMode,onChange:c=>{i["x-action-settings"].updateMode=c,t.emit("patch",{schema:{"x-uid":i["x-uid"],"x-action-settings":i["x-action-settings"]}}),t.refresh()}})}function V(t={}){const{t:o}=S.useTranslation(),i=d.useFieldSchema();return!((i==null?void 0:i.parent["x-component"])==="CollectionField")&&r.jsxs(r.Fragment,{children:[r.jsx(e.SchemaSettingsDivider,{}),r.jsx(e.SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:c=>c["x-component"]==="Space"||c["x-component"].endsWith("ActionBar"),confirm:{title:o("Delete action"),onOk:t.onConfirmOk}})]})}const le=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(),o=["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"");return{openMode:o,openSize:o}}},{name:"updateMode",Component:$},{name:"remove",sort:100,Component:V,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),me=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 t=d.useFieldSchema(),o=["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"");return{openMode:o,openSize:o}}},{name:"updateMode",Component:$},{name:"remove",sort:100,Component:V,useComponentProps(){const{removeButtonProps:t}=e.useSchemaToolbar();return t}}]}),pe=t=>{const o=d.useField(),i=d.useFieldSchema(),{name:s,interface:c,uiSchema:l}=e.useCollectionField_deprecated(),p=e.useComponent(l==null?void 0:l["x-component"]),b=e.useCompile(),m=(h,x)=>{o[h]=typeof o[h]=="undefined"?x:o[h]},u=()=>{typeof i.required=="undefined"&&(o.required=!!l.required)},n=e.useFormBlockContext();return F.useEffect(()=>{n!=null&&n.field&&(n.field.added=n.field.added||new Set,n.field.added.add(i.name))}),F.useEffect(()=>{if(!l)return;m("content",l["x-content"]),m("description",l.description),m("initialValue",l.default),i["x-disabled"]===!0&&(o.disabled=!0),i["x-read-pretty"]===!0&&(o.readPretty=!0),u(),o.dataSource=l.enum;const h=b(l["x-component-props"])||{},x=ce.merge(h,o.componentProps||{});o.componentProps=x},[JSON.stringify(l)]),l?F.createElement(p,t,t.children):null},ue=d.connect(t=>{const o=d.useFieldSchema();return r.jsx(e.CollectionFieldProvider,{name:o.name,children:r.jsx(pe,z({},t))})});var M=(t=>(t[t.RemainsTheSame=1]="RemainsTheSame",t[t.ChangedTo=2]="ChangedTo",t[t.Clear=3]="Clear",t[t.AddAttach=4]="AddAttach",t))(M||{});const he=t=>{const{t:o}=S.useTranslation(),i=d.useFieldSchema(),s=d.useField(),[c,l]=F.useState(2),[p,b]=F.useState(null),{getField:m}=e.useCollection_deprecated(),u=m(i.name)||{};F.useEffect(()=>{s.value={[c]:p}},[c,p]);const n=x=>{l(x)},h=x=>{var g,f,v,w;b((w=(v=(g=x==null?void 0:x.target)==null?void 0:g.value)!=null?v:(f=x==null?void 0:x.target)==null?void 0:f.checked)!=null?w:x)};return r.jsxs(k.Space,{className:se.css`
|
|
2
2
|
display: flex;
|
|
3
3
|
> .ant-space-item {
|
|
4
4
|
width: 100%;
|
|
5
5
|
}
|
|
6
|
-
`,children:[a.jsxs(k.Select,{defaultValue:c,value:c,onChange:i,children:[a.jsx(k.Select.Option,{value:1,children:o("Remains the same")}),a.jsx(k.Select.Option,{value:2,children:o("Changed to")}),a.jsx(k.Select.Option,{value:3,children:o("Clear")}),["subTable","linkTo","m2m","o2m","o2o","oho","obo","m2o"].includes(u==null?void 0:u.interface)&&a.jsx(k.Select.Option,{value:4,children:o("Add attach")})]}),[2,4].includes(c)&&(u==null?void 0:u.interface)!=="checkbox"&&a.jsx(ce,T(z({},t),{value:m,onChange:h,style:{minWidth:150}})),[2,4].includes(c)&&(u==null?void 0:u.interface)==="checkbox"&&a.jsx(k.Checkbox,{checked:m,onChange:h})]})},de=t=>{const{name:o,fields:n}=e.useCollection_deprecated(),{getInterface:r,getCollection:c}=e.useCollectionManager_deprecated(),d=l.useForm(),{readPretty:m=d.readPretty,block:y="Form"}=t||{},p=e.useRemoveGridFormItem();return I.useMemo(()=>n==null?void 0:n.filter(i=>{var h;return(i==null?void 0:i.interface)&&!((h=i==null?void 0:i.uiSchema)!=null&&h["x-read-pretty"])&&i.interface!=="snapshot"&&i.type!=="sequence"}).map(i=>{var S,f,v;const h=r(i.interface),x={type:"string",name:i.name,title:((S=i==null?void 0:i.uiSchema)==null?void 0:S.title)||i.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:BulkEditFormItem","x-component":"BulkEditField","x-decorator":"FormItem","x-collection-field":`${o}.${i.name}`};return{name:((f=i==null?void 0:i.uiSchema)==null?void 0:f.title)||i.name,type:"item",title:((v=i==null?void 0:i.uiSchema)==null?void 0:v.title)||i.name,Component:"CollectionFieldInitializer",remove:p,schemaInitialize:B=>{var M;(M=h==null?void 0:h.schemaInitialize)==null||M.call(h,B,{field:i,block:y,readPretty:m,targetCollection:c(i.target)})},schema:x}}),[n])},pe=()=>{var B,M,W,_;const t=l.useForm(),{t:o}=g.useTranslation(),{field:n,resource:r,__parent:c}=e.useBlockRequestContext(),d=I.useContext(l.SchemaExpressionScopeContext),m=e.useActionContext(),y=w.useNavigate(),p=e.useCompile(),u=l.useField(),i=e.useTableBlockContext(),{modal:h}=k.App.useApp(),{rowKey:x}=i,S=(_=(W=(M=(B=i.field)==null?void 0:B.data)==null?void 0:M.selectedRowKeys)!=null?W:d==null?void 0:d.selectedRecordKeys)!=null?_:{},{setVisible:f,fieldSchema:v}=m;return{onClick(){return D(this,null,function*(){var J,H,K,Q,O,R,q,X;const{onSuccess:C,skipValidator:ge,updateMode:ye}=(J=v==null?void 0:v["x-action-settings"])!=null?J:{},{filter:ke}=(K=(H=c.service.params)==null?void 0:H[0])!=null?K:{};ge||(yield t.submit());const A=b.cloneDeep(t.values);u.data=n.data||{},u.data.loading=!0;for(const F in A)if(Object.prototype.hasOwnProperty.call(A,F)){const G=A[F];E.Clear in G?A[F]=null:E.ChangedTo in G?A[F]=G[E.ChangedTo]:E.RemainsTheSame in G&&delete A[F]}try{const F={values:A,filter:ke,forceUpdate:!1};if(ye==="selected"){if(!(S!=null&&S.length)){k.message.error(o("Please select the records to be updated"));return}F.filter={$and:[{[x||"id"]:{$in:S}}]}}if(F.filter||(F.forceUpdate=!0),yield r.update(F),u.data.loading=!1,r instanceof e.TableFieldResource||(R=(O=(Q=c==null?void 0:c.__parent)==null?void 0:Q.service)==null?void 0:O.refresh)==null||R.call(O),(X=(q=c==null?void 0:c.service)==null?void 0:q.refresh)==null||X.call(q),f==null||f(!1),!(C!=null&&C.successMessage))return;C!=null&&C.manualClose?h.success({title:p(C==null?void 0:C.successMessage),onOk:()=>D(this,null,function*(){yield t.reset(),C!=null&&C.redirecting&&(C!=null&&C.redirectTo)&&(P.isURL(C.redirectTo)?window.location.href=C.redirectTo:y(C.redirectTo))})}):k.message.success(p(C==null?void 0:C.successMessage))}finally{u.data.loading=!1}})}}},me=new e.SchemaInitializer({name:"BulkEditFormItemInitializers",wrap:e.gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{name:"displayFields",type:"itemGroup",title:'{{t("Display fields")}}',useChildren:de},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add text")}}',Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:markdown","x-component":"Markdown.Void","x-component-props":{content:'{{t("This is a demo text, **supports Markdown syntax**.")}}'}}}]}),V=()=>{const u=e.useSchemaInitializerItem(),{onCreateBlockSchema:o,componentType:n,createBlockSchema:r}=u,c=te(u,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:d}=e.useSchemaInitializer(),{getTemplateSchemaByMode:m}=e.useSchemaTemplateManager(),y=e.useBlockAssociationContext(),p=e.useCollection_deprecated();return a.jsx(e.SchemaInitializerItem,T(z({icon:a.jsx(ie.FormOutlined,{})},c),{onClick:h=>D(this,[h],function*({item:i}){if(i.template){const x=yield m(i);if(i.template.componentName==="FormItem"){const S=e.createFormBlockSchema({actionInitializers:"CreateFormActionInitializers",association:y,collection:p.name,dataSource:p.dataSource,template:x});i.mode==="reference"&&(S["x-template-key"]=i.template.key),d(S)}else d(x)}else d(e.createFormBlockSchema({formItemInitializers:"BulkEditFormItemInitializers",actionInitializers:"BulkEditFormActionInitializers",association:y,collection:p.name,dataSource:p.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:V}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]}),he=new e.SchemaInitializer({name:"BulkEditBlockInitializers",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"}]}]}),xe=t=>{const o={title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:updateSubmit","x-component-props":{type:"primary",htmlType:"submit",useProps:"{{ useCustomizeBulkEditActionProps }}"}};return a.jsx(e.ActionInitializer,T(z({},t),{schema:o}))},Ce=new e.SchemaInitializer({name:"BulkEditFormActionInitializers",title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{type:"itemGroup",title:'{{t("Enable actions")}}',name:"enableActions",children:[{name:"submit",title:'{{t("Submit")}}',Component:xe,schema:{"x-action-settings":{}}}]}]}),fe=()=>{const t={type:"void",title:'{{t("Bulk edit")}}',"x-component":"Action","x-action":"customize:bulkEdit","x-action-settings":{updateMode:"selected"},"x-component-props":{openMode:"drawer",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":"TabPaneInitializersForBulkEditFormBlock",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":"BulkEditBlockInitializers",properties:{}}}}}}}}}},o=e.useSchemaInitializerItem();return a.jsx(e.BlockInitializer,T(z({},o),{schema:t,item:o}))},Se=new e.SchemaSettings({name:"fieldSettings:BulkEditFormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t}=g.useTranslation();return{title:t("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var y;const{t}=g.useTranslation(),{dn:o}=e.useDesignable(),n=l.useField(),r=l.useFieldSchema(),{getCollectionJoinField:c}=e.useCollectionManager_deprecated(),{dataSource:d}=e.useCollection_deprecated(),m=c(r["x-collection-field"],d);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: ")}${(y=m==null?void 0:m.uiSchema)==null?void 0:y.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:p}){p&&(n.title=p,r.title=p,o.emit("patch",{schema:{"x-uid":r["x-uid"],title:r.title}})),o.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var c,d;const{t}=g.useTranslation(),{dn:o}=e.useDesignable(),n=l.useField(),r=l.useFieldSchema();return{title:t("Display title"),checked:(d=(c=r["x-decorator-props"])==null?void 0:c.showTitle)!=null?d:!0,onChange(m){r["x-decorator-props"]=r["x-decorator-props"]||{},r["x-decorator-props"].showTitle=m,n.decoratorProps.showTitle=m,o.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":T(z({},r["x-decorator-props"]),{showTitle:m})}}),o.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t}=g.useTranslation(),{dn:o}=e.useDesignable(),n=l.useField(),r=l.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,r.description=c,o.emit("patch",{schema:{"x-uid":r["x-uid"],description:r.description}}),o.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var c;const{t}=g.useTranslation(),{dn:o}=e.useDesignable(),n=l.useField(),r=l.useFieldSchema();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(c=r==null?void 0:r["x-decorator-props"])==null?void 0:c.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:d}){n.decoratorProps.tooltip=d,r["x-decorator-props"]=r["x-decorator-props"]||{},r["x-decorator-props"].tooltip=d,o.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}}),o.refresh()}}}},{name:"setValidationRules",type:"modal",useComponentProps(){const{t}=g.useTranslation(),o=l.useField(),n=l.useFieldSchema(),{dn:r,refresh:c}=e.useDesignable(),d=e.useValidateSchema(),{getCollectionJoinField:m}=e.useCollectionManager_deprecated(),{dataSource:y}=e.useCollection_deprecated(),p=m(n["x-collection-field"],y);return{title:t("Set validation rules"),components:{ArrayCollapse:N.ArrayCollapse,FormLayout:N.FormLayout},schema:{type:"object",title:t("Set validation rules"),properties:{rules:{type:"array",default:n==null?void 0:n["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:T(z({},d),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"}}},properties:{add:{type:"void",title:'{{ t("Add validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit(u){var S;const i=[];for(const f of u.rules)i.push(b.pickBy(f,b.identity));const h={"x-uid":n["x-uid"]};if(["percent"].includes(p==null?void 0:p.interface))for(const f of i)(f.maxValue||f.minValue)&&(f.percentMode=!0),f.percentFormat&&(f.percentFormats=!0);const x=b.concat([],((S=p==null?void 0:p.uiSchema)==null?void 0:S["x-validator"])||[],i);o.validator=x,n["x-validator"]=i,h["x-validator"]=i,r.emit("patch",{schema:h}),c()}}},useVisible(){const{form:t}=e.useFormBlockContext(),o=e.useIsFormReadPretty(),n=e.useValidateSchema();return t&&!o&&n}}]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t}=g.useTranslation();return{title:t("Specific properties")}},useChildren(){const t=e.useApp(),o=e.useFieldComponentName(),n=t.schemaSettingsManager.get(`fieldSettings:component:${o}`);return(n==null?void 0:n.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t}=g.useTranslation();return{removeParentsIfNoChildren:!0,confirm:{title:t("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]});class L extends e.Plugin{load(){return D(this,null,function*(){this.app.addComponents({BulkEditField:le}),this.app.addScopes({useCustomizeBulkEditActionProps:pe}),this.app.schemaSettingsManager.add(se),this.app.schemaSettingsManager.add(ae),this.app.schemaSettingsManager.add(Se),this.app.schemaInitializerManager.add(me),this.app.schemaInitializerManager.add(ue),this.app.schemaInitializerManager.add(he),this.app.schemaInitializerManager.add(Ce);const o={type:"item",title:'{{t("Bulk edit")}}',name:"bulkEdit",Component:fe,schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-action":"customize:bulkEdit","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:bulkEdit","x-acl-action":"update","x-acl-action-props":{skipScopeCheck:!0}},useVisible(){const n=e.useCollection_deprecated();return(n.template!=="view"||(n==null?void 0:n.writableView))&&n.template!=="file"&&n.template!=="sql"}};this.app.schemaInitializerManager.addItem("TableActionInitializers","customize.bulkEdit",o),this.app.schemaInitializerManager.addItem("GanttActionInitializers","customize.bulkEdit",o),this.app.schemaInitializerManager.addItem("MapActionInitializers","customize.bulkEdit",o)})}}s.BulkEditPlugin=L,s.default=L,Object.defineProperties(s,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
6
|
+
`,children:[r.jsxs(k.Select,{defaultValue:c,value:c,onChange:n,children:[r.jsx(k.Select.Option,{value:1,children:o("Remains the same")}),r.jsx(k.Select.Option,{value:2,children:o("Changed to")}),r.jsx(k.Select.Option,{value:3,children:o("Clear")}),["subTable","linkTo","m2m","o2m","o2o","oho","obo","m2o"].includes(u==null?void 0:u.interface)&&r.jsx(k.Select.Option,{value:4,children:o("Add attach")})]}),[2,4].includes(c)&&(u==null?void 0:u.interface)!=="checkbox"&&r.jsx(ue,A(z({},t),{value:p,onChange:h,style:{minWidth:150}})),[2,4].includes(c)&&(u==null?void 0:u.interface)==="checkbox"&&r.jsx(k.Checkbox,{checked:p,onChange:h})]})},W=t=>{const{name:o,fields:i}=e.useCollection_deprecated(),{getInterface:s,getCollection:c}=e.useCollectionManager_deprecated(),l=d.useForm(),{readPretty:p=l.readPretty,block:b="Form"}=t||{},m=e.useRemoveGridFormItem();return F.useMemo(()=>i==null?void 0:i.filter(n=>{var h;return(n==null?void 0:n.interface)&&!((h=n==null?void 0:n.uiSchema)!=null&&h["x-read-pretty"])&&n.interface!=="snapshot"&&n.type!=="sequence"}).map(n=>{var g,f,v;const h=s(n.interface),x={type:"string",name:n.name,title:((g=n==null?void 0:n.uiSchema)==null?void 0:g.title)||n.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:BulkEditFormItem","x-component":"BulkEditField","x-decorator":"FormItem","x-collection-field":`${o}.${n.name}`};return{name:((f=n==null?void 0:n.uiSchema)==null?void 0:f.title)||n.name,type:"item",title:((v=n==null?void 0:n.uiSchema)==null?void 0:v.title)||n.name,Component:"CollectionFieldInitializer",remove:m,schemaInitialize:w=>{var P;(P=h==null?void 0:h.schemaInitialize)==null||P.call(h,w,{field:n,block:b,readPretty:p,targetCollection:c(n.target)})},schema:x}}),[i])},xe=()=>{var w,P,R,Q;const t=d.useForm(),{t:o}=S.useTranslation(),{field:i,resource:s,__parent:c}=e.useBlockRequestContext(),l=F.useContext(d.SchemaExpressionScopeContext),p=e.useActionContext(),b=T.useNavigate(),m=e.useCompile(),u=d.useField(),n=e.useTableBlockContext(),{modal:h}=k.App.useApp(),{rowKey:x}=n,g=(Q=(R=(P=(w=n.field)==null?void 0:w.data)==null?void 0:P.selectedRowKeys)!=null?R:l==null?void 0:l.selectedRecordKeys)!=null?Q:{},{setVisible:f,fieldSchema:v}=p;return{onClick(){return O(this,null,function*(){var X,Y,Z,ee,D,te,q,oe;const{onSuccess:C,skipValidator:ye,updateMode:Fe}=(X=v==null?void 0:v["x-action-settings"])!=null?X:{},{filter:Ie}=(Z=(Y=c.service.params)==null?void 0:Y[0])!=null?Z:{};ye||(yield t.submit());const B=y.cloneDeep(t.values);u.data=i.data||{},u.data.loading=!0;for(const I in B)if(Object.prototype.hasOwnProperty.call(B,I)){const G=B[I];M.Clear in G?B[I]=null:M.ChangedTo in G?B[I]=G[M.ChangedTo]:M.RemainsTheSame in G&&delete B[I]}try{const I={values:B,filter:Ie,forceUpdate:!1};if(Fe==="selected"){if(!(g!=null&&g.length)){k.message.error(o("Please select the records to be updated"));return}I.filter={$and:[{[x||"id"]:{$in:g}}]}}if(I.filter||(I.forceUpdate=!0),yield s.update(I),u.data.loading=!1,s instanceof e.TableFieldResource||(te=(D=(ee=c==null?void 0:c.__parent)==null?void 0:ee.service)==null?void 0:D.refresh)==null||te.call(D),(oe=(q=c==null?void 0:c.service)==null?void 0:q.refresh)==null||oe.call(q),f==null||f(!1),!(C!=null&&C.successMessage))return;C!=null&&C.manualClose?h.success({title:m(C==null?void 0:C.successMessage),onOk:()=>O(this,null,function*(){yield t.reset(),C!=null&&C.redirecting&&(C!=null&&C.redirectTo)&&(E.isURL(C.redirectTo)?window.location.href=C.redirectTo:b(C.redirectTo))})}):k.message.success(m(C==null?void 0:C.successMessage))}finally{u.data.loading=!1}})}}},U=new e.CompatibleSchemaInitializer({name:"BulkEditFormItemInitializers",wrap:e.gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{name:"displayFields",type:"itemGroup",title:'{{t("Display fields")}}',useChildren:W},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add text")}}',Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:markdown","x-component":"Markdown.Void","x-component-props":{content:'{{t("This is a demo text, **supports Markdown syntax**.")}}'}}}]}),Ce=new e.CompatibleSchemaInitializer({name:"bulkEditForm:configureFields",wrap:e.gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{name:"displayFields",type:"itemGroup",title:'{{t("Display fields")}}',useChildren:W},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add text")}}',Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:markdown","x-component":"Markdown.Void","x-component-props":{content:'{{t("This is a demo text, **supports Markdown syntax**.")}}'}}}]},U),N=()=>{const u=e.useSchemaInitializerItem(),{onCreateBlockSchema:o,componentType:i,createBlockSchema:s}=u,c=re(u,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:l}=e.useSchemaInitializer(),{getTemplateSchemaByMode:p}=e.useSchemaTemplateManager(),b=e.useBlockAssociationContext(),m=e.useCollection_deprecated();return r.jsx(e.SchemaInitializerItem,A(z({icon:r.jsx(de.FormOutlined,{})},c),{onClick:h=>O(this,[h],function*({item:n}){if(n.template){const x=yield p(n);if(n.template.componentName==="FormItem"){const g=e.createFormBlockSchema({actionInitializers:"createForm:configureActions",association:b,collection:m.name,dataSource:m.dataSource,template:x});n.mode==="reference"&&(g["x-template-key"]=n.template.key),l(g)}else l(x)}else l(e.createFormBlockSchema({formItemInitializers:"bulkEditForm:configureFields",actionInitializers:"bulkEditForm:configureActions",association:b,collection:m.name,dataSource:m.dataSource}))}),items:e.useRecordCollectionDataSourceItems("FormItem")}))},fe=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:N}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]}),L=new e.CompatibleSchemaInitializer({name:"BulkEditBlockInitializers",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:N}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]}),ge=new e.CompatibleSchemaInitializer({name:"popup:bulkEdit:addBlock",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:N}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},L),J=t=>{const o={title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:updateSubmit","x-component-props":{type:"primary",htmlType:"submit",useProps:"{{ useCustomizeBulkEditActionProps }}"}};return r.jsx(e.ActionInitializer,A(z({},t),{schema:o}))},H=new e.CompatibleSchemaInitializer({name:"BulkEditFormActionInitializers",title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{type:"itemGroup",title:'{{t("Enable actions")}}',name:"enableActions",children:[{name:"submit",title:'{{t("Submit")}}',Component:J,schema:{"x-action-settings":{}}}]}]}),Se=new e.CompatibleSchemaInitializer({name:"bulkEditForm:configureActions",title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{type:"itemGroup",title:'{{t("Enable actions")}}',name:"enableActions",children:[{name:"submit",title:'{{t("Submit")}}',Component:J,schema:{"x-action-settings":{}}}]}]},H),be=()=>{const t={type:"void",title:'{{t("Bulk edit")}}',"x-component":"Action","x-action":"customize:bulkEdit","x-action-settings":{updateMode:"selected"},"x-component-props":{openMode:"drawer",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":"TabPaneInitializersForBulkEditFormBlock",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:{}}}}}}}}}},o=e.useSchemaInitializerItem();return r.jsx(e.BlockInitializer,A(z({},o),{schema:t,item:o}))},ke=new e.SchemaSettings({name:"fieldSettings:BulkEditFormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t}=S.useTranslation();return{title:t("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var b;const{t}=S.useTranslation(),{dn:o}=e.useDesignable(),i=d.useField(),s=d.useFieldSchema(),{getCollectionJoinField:c}=e.useCollectionManager_deprecated(),{dataSource:l}=e.useCollection_deprecated(),p=c(s["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:i==null?void 0:i.title,description:`${t("Original field title: ")}${(b=p==null?void 0:p.uiSchema)==null?void 0:b.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:m}){m&&(i.title=m,s.title=m,o.emit("patch",{schema:{"x-uid":s["x-uid"],title:s.title}})),o.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var c,l;const{t}=S.useTranslation(),{dn:o}=e.useDesignable(),i=d.useField(),s=d.useFieldSchema();return{title:t("Display title"),checked:(l=(c=s["x-decorator-props"])==null?void 0:c.showTitle)!=null?l:!0,onChange(p){s["x-decorator-props"]=s["x-decorator-props"]||{},s["x-decorator-props"].showTitle=p,i.decoratorProps.showTitle=p,o.emit("patch",{schema:{"x-uid":s["x-uid"],"x-decorator-props":A(z({},s["x-decorator-props"]),{showTitle:p})}}),o.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t}=S.useTranslation(),{dn:o}=e.useDesignable(),i=d.useField(),s=d.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:c}){i.description=c,s.description=c,o.emit("patch",{schema:{"x-uid":s["x-uid"],description:s.description}}),o.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var c;const{t}=S.useTranslation(),{dn:o}=e.useDesignable(),i=d.useField(),s=d.useFieldSchema();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(c=s==null?void 0:s["x-decorator-props"])==null?void 0:c.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:l}){i.decoratorProps.tooltip=l,s["x-decorator-props"]=s["x-decorator-props"]||{},s["x-decorator-props"].tooltip=l,o.emit("patch",{schema:{"x-uid":s["x-uid"],"x-decorator-props":s["x-decorator-props"]}}),o.refresh()}}}},{name:"setValidationRules",type:"modal",useComponentProps(){const{t}=S.useTranslation(),o=d.useField(),i=d.useFieldSchema(),{dn:s,refresh:c}=e.useDesignable(),l=e.useValidateSchema(),{getCollectionJoinField:p}=e.useCollectionManager_deprecated(),{dataSource:b}=e.useCollection_deprecated(),m=p(i["x-collection-field"],b);return{title:t("Set validation rules"),components:{ArrayCollapse:_.ArrayCollapse,FormLayout:_.FormLayout},schema:{type:"object",title:t("Set validation rules"),properties:{rules:{type:"array",default:i==null?void 0:i["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:A(z({},l),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"}}},properties:{add:{type:"void",title:'{{ t("Add validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit(u){var g;const n=[];for(const f of u.rules)n.push(y.pickBy(f,y.identity));const h={"x-uid":i["x-uid"]};if(["percent"].includes(m==null?void 0:m.interface))for(const f of n)(f.maxValue||f.minValue)&&(f.percentMode=!0),f.percentFormat&&(f.percentFormats=!0);const x=y.concat([],((g=m==null?void 0:m.uiSchema)==null?void 0:g["x-validator"])||[],n);o.validator=x,i["x-validator"]=n,h["x-validator"]=n,s.emit("patch",{schema:h}),c()}}},useVisible(){const{form:t}=e.useFormBlockContext(),o=e.useIsFormReadPretty(),i=e.useValidateSchema();return t&&!o&&i}}]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t}=S.useTranslation();return{title:t("Specific properties")}},useChildren(){const t=e.useApp(),o=e.useFieldComponentName(),i=t.schemaSettingsManager.get(`fieldSettings:component:${o}`);return(i==null?void 0:i.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t}=S.useTranslation();return{removeParentsIfNoChildren:!0,confirm:{title:t("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]});class K extends e.Plugin{load(){return O(this,null,function*(){this.app.addComponents({BulkEditField:he}),this.app.addScopes({useCustomizeBulkEditActionProps:xe}),this.app.schemaSettingsManager.add(le),this.app.schemaSettingsManager.add(me),this.app.schemaSettingsManager.add(ke),this.app.schemaInitializerManager.add(U),this.app.schemaInitializerManager.add(Ce),this.app.schemaInitializerManager.add(fe),this.app.schemaInitializerManager.add(L),this.app.schemaInitializerManager.add(ge),this.app.schemaInitializerManager.add(H),this.app.schemaInitializerManager.add(Se);const o={type:"item",title:'{{t("Bulk edit")}}',name:"bulkEdit",Component:be,schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-action":"customize:bulkEdit","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:bulkEdit","x-acl-action":"update","x-acl-action-props":{skipScopeCheck:!0}},useVisible(){const i=e.useCollection_deprecated();return(i.template!=="view"||(i==null?void 0:i.writableView))&&i.template!=="file"&&i.template!=="sql"}};this.app.schemaInitializerManager.addItem("table:configureActions","customize.bulkEdit",o),this.app.schemaInitializerManager.addItem("gantt:configureActions","customize.bulkEdit",o),this.app.schemaInitializerManager.addItem("map:configureActions","customize.bulkEdit",o)})}}a.BulkEditPlugin=K,a.default=K,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
"@formily/react": "2.3.0",
|
|
3
|
-
"@nocobase/client": "0.20.0-alpha.
|
|
3
|
+
"@nocobase/client": "0.20.0-alpha.11",
|
|
4
4
|
"antd": "5.12.8",
|
|
5
5
|
"react": "18.2.0",
|
|
6
6
|
"react-i18next": "11.18.6",
|
|
@@ -9,9 +9,9 @@ module.exports = {
|
|
|
9
9
|
"@formily/core": "2.3.0",
|
|
10
10
|
"lodash": "4.17.21",
|
|
11
11
|
"react-router-dom": "6.21.0",
|
|
12
|
-
"@nocobase/utils": "0.20.0-alpha.
|
|
13
|
-
"@nocobase/server": "0.20.0-alpha.
|
|
14
|
-
"@nocobase/test": "0.20.0-alpha.
|
|
12
|
+
"@nocobase/utils": "0.20.0-alpha.11",
|
|
13
|
+
"@nocobase/server": "0.20.0-alpha.11",
|
|
14
|
+
"@nocobase/test": "0.20.0-alpha.11",
|
|
15
15
|
"@emotion/css": "11.11.2",
|
|
16
16
|
"@formily/shared": "2.3.0"
|
|
17
17
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-action-bulk-edit",
|
|
3
|
-
"version": "0.20.0-alpha.
|
|
3
|
+
"version": "0.20.0-alpha.11",
|
|
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": "0.x",
|
|
15
15
|
"@nocobase/test": "0.x"
|
|
16
16
|
},
|
|
17
|
-
"gitHead": "
|
|
17
|
+
"gitHead": "ed56e8464869fefbd6e263a2358fc14930c22f96",
|
|
18
18
|
"keywords": [
|
|
19
19
|
"Actions"
|
|
20
20
|
]
|