@nocobase/plugin-action-bulk-update 2.1.0-alpha.10 → 2.1.0-alpha.12

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.
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/utils/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-action-bulk-update",["react-i18next","react","antd","@nocobase/client","@formily/react","@nocobase/flow-engine","@nocobase/utils/client"],t):"object"==typeof exports?exports["@nocobase/plugin-action-bulk-update"]=t(require("react-i18next"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/utils/client")):e["@nocobase/plugin-action-bulk-update"]=t(e["react-i18next"],e.react,e.antd,e["@nocobase/client"],e["@formily/react"],e["@nocobase/flow-engine"],e["@nocobase/utils/client"])}(self,function(e,t,n,r,o,i,a){return function(){"use strict";var l,u={230:function(e){e.exports=o},342:function(e){e.exports=r},694:function(e){e.exports=i},768:function(e){e.exports=a},59:function(e){e.exports=n},155:function(e){e.exports=t},953:function(t){t.exports=e}},c={};function s(e){var t=c[e];if(void 0!==t)return t.exports;var n=c[e]={exports:{}};return u[e](n,n.exports,s),n.exports}s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.g.importScripts&&(p=s.g.location+"");var p,f=s.g.document;if(!p&&f&&(f.currentScript&&"SCRIPT"===f.currentScript.tagName.toUpperCase()&&(p=f.currentScript.src),!p)){var d=f.getElementsByTagName("script");if(d.length)for(var b=d.length-1;b>-1&&(!p||!/^http(s?):/.test(p));)p=d[b--].src}if(!p)throw Error("Automatic publicPath is not supported in this browser");s.p=p.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var m={};return"/"!==(l=window.__webpack_public_path__||"/").charAt(l.length-1)&&(l+="/"),s.p=l+"static/plugins/@nocobase/plugin-action-bulk-update/dist/client/",!function(){s.r(m),s.d(m,{default:function(){return $},BulkUpdateActionModel:function(){return A},PluginActionBulkUpdateClient:function(){return N}});var e=s(342),t=s(230),n=s(953),r=s(155),o=s.n(r);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l={value:"value",label:"label"},u=function(t){var n;return{scope:[t].concat(function(e){if(Array.isArray(e))return i(e)}(n=(0,e.useAfterSuccessOptions)())||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||function(e){if(e){if("string"==typeof e)return i(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return i(e,void 0)}}(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).filter(Boolean),fieldNames:l}},c=[{name:"editButton",Component:e.ActionDesigner.ButtonEditor,useComponentProps:function(){return(0,e.useSchemaToolbar)().buttonEditorProps}},{name:"linkageRules",Component:e.SchemaSettingsLinkageRules,useComponentProps:function(){var t,n,r=(0,e.useCollection_deprecated)().name,o=((0,e.useDataBlockProps)()||{}).association,i=(0,(0,e.useCollectionManager_deprecated)().getCollectionField)(o);return t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){a(e,t,n[t])})}return e}({},(0,e.useSchemaToolbar)().linkageRulesProps),n=n={collectionName:(null==i?void 0:i.collectionName)||r},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t}},{name:"updateMode",Component:function(){var r,i=(0,e.useDesignable)().dn,a=(0,n.useTranslation)().t,l=(0,t.useFieldSchema)();return o().createElement(e.SchemaSettingsSelectItem,{title:a("Data will be updated"),options:[{label:a("Selected"),value:"selected"},{label:a("Entire collection",{ns:"action-bulk-edit"}),value:"all"}],value:null==l||null==(r=l["x-action-settings"])?void 0:r.updateMode,onChange:function(e){l["x-action-settings"].updateMode=e,i.emit("patch",{schema:{"x-uid":l["x-uid"],"x-action-settings":l["x-action-settings"]}}),i.refresh()}})},useVisible:function(){return["customize:bulkUpdate","customize:bulkEdit"].includes((0,t.useFieldSchema)()["x-action"])}},{name:"assignFieldValues",Component:e.AssignedFieldValues},{name:"afterSuccess",Component:function(){var r,i,l=(0,e.useDesignable)().dn,c=(0,n.useTranslation)().t,s=(0,t.useFieldSchema)(),p=(0,e.useGlobalVariable)("$env"),f=(0,e.usePlugin)("@nocobase/plugin-block-template"),d=null==f||null==(r=f.isInBlockTemplateConfigPage)?void 0:r.call(f);return o().createElement(e.SchemaSettingsModalItem,{dialogRootClassName:"dialog-after-successful-submission",width:700,title:c("After successful submission"),initialValues:null==s||null==(i=s["x-action-settings"])?void 0:i.onSuccess,schema:{type:"object",title:c("After successful submission"),properties:{successMessage:{title:c("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}},manualClose:{title:c("Popup close method"),enum:[{label:c("Automatic close"),value:!1},{label:c("Manually close"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{}},redirecting:{title:c("Then"),enum:[{label:c("Stay on current page"),value:!1},{label:c("Redirect to"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{!!$self.value}}"}}}},redirectTo:{title:c("Link"),"x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":function(){return u(p)}},blocksToRefresh:{type:"array",title:c("Refresh data blocks"),"x-decorator":"FormItem","x-use-decorator-props":function(){return{tooltip:c("After successful submission, the selected data blocks will be automatically refreshed.")}},"x-component":e.BlocksSelector,"x-hidden":d}}},onSubmit:function(e){var t;s["x-action-settings"].onSuccess=e,l.emit("patch",{schema:(a(t={},"x-uid",s["x-uid"]),a(t,"x-action-settings",s["x-action-settings"]),t)})}})}},{name:"refreshDataBlockRequest",Component:e.RefreshDataBlockRequest,useComponentProps:function(){return{isPopupAction:!1}}},{name:"remove",sort:100,Component:e.ActionDesigner.RemoveButton,useComponentProps:function(){return(0,e.useSchemaToolbar)().removeButtonProps}}],p=new e.SchemaSettings({name:"ActionSettings:customize:bulkUpdate",items:c}),f=new e.SchemaSettings({name:"actionSettings:bulkUpdate",items:c}),d=s(694),b="action-bulk-update";function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function v(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){g(i,r,o,a,l,"next",e)}function l(e){g(i,r,o,a,l,"throw",e)}a(void 0)})}}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(e){return(O=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function S(e,t){return(S=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function w(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function x(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(x=function(){return!!e})()}function P(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var j="assignSettings";function k(){var e,t=(0,d.useFlowSettingsContext)(),n=t.model,i=t.blockModel,a=(0,d.useFlowEngine)(),l=(0,r.useRef)(!1),u=function(e){if(Array.isArray(e))return e}(e=o().useState(null))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],i=!0,a=!1;try{for(r=r.call(e);!(i=(t=r.next()).done)&&(o.push(t.value),2!==o.length);i=!0);}catch(e){a=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(a)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return y(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return y(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),c=u[0],s=u[1];return(0,r.useEffect)(function(){var e=!1;return v(function(){var t;return P(this,function(r){switch(r.label){case 0:return[4,a.loadOrCreateModel({parentId:n.uid,subKey:"assignForm",use:"AssignFormModel"})];case 1:if(t=r.sent(),e)return[2];return s(t),n.assignFormUid=(null==t?void 0:t.uid)||n.assignFormUid,[2]}})})(),function(){e=!0}},[n,a]),(0,r.useEffect)(function(){if(!l.current&&c){var e,t,r=(null==(e=n.getStepParams)?void 0:e.call(n,j,"assignFieldValues"))||{},o=(null==i?void 0:i.collection)||(null==n||null==(t=n.context)?void 0:t.collection),a=null==o?void 0:o.dataSourceKey,u=null==o?void 0:o.name;a&&u&&c.setStepParams("resourceSettings","init",{dataSourceKey:a,collectionName:u}),c.setInitialAssignedValues((null==r?void 0:r.assignedValues)||{}),c.context.defineProperty("record",{get:function(){},cache:!1}),l.current=!0}},[n,null==i?void 0:i.collection,c]),c?o().createElement(d.FlowModelRenderer,{model:c,showFlowSettings:!1}):null}var A=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t,r;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return t=n,r=arguments,t=O(t),h(e=function(e,t){if(t&&("object"===w(t)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,x()?Reflect.construct(t,r||[],O(this).constructor):t.apply(this,r)),"assignFormUid",void 0),h(e,"defaultProps",{title:(0,d.tExpr)("Bulk update"),icon:"EditOutlined"}),e}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&S(n,e),t=[{key:"getAclActionName",value:function(){return"update"}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(e.ActionModel);h(A,"scene",e.ActionSceneEnum.collection),h(A,"capabilityActionName","updateMany"),A.define({label:(0,d.tExpr)("Bulk update"),createModelOptions:function(e){var t,n=e.collection.dataSourceKey,r=null==(t=e.collection)?void 0:t.name;return{subModels:{assignForm:{use:"AssignFormModel",async:!0,stepParams:{resourceSettings:{init:n&&r?{dataSourceKey:n,collectionName:r}:void 0}}}}}}}),A.registerFlow({key:j,title:(0,d.tExpr)("Bulk update action settings",{ns:b}),manual:!0,steps:{confirm:{title:(0,d.tExpr)("Secondary confirmation"),use:"confirm",defaultParams:{enable:!1,title:(0,d.tExpr)("Bulk update"),content:(0,d.tExpr)("Are you sure you want to perform the Update record action?")}},updateMode:{title:(0,d.tExpr)("Data will be updated"),uiSchema:{value:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,d.tExpr)("Selected"),value:"selected"},{label:(0,d.tExpr)("All"),value:"all"}],default:"selected"}}},assignFieldValues:{title:(0,d.tExpr)("Assign field values"),uiSchema:function(){return{editor:{"x-decorator":"FormItem","x-component":function(){return o().createElement(k,null)}}}},beforeParamsSave:function(e){return v(function(){var t,n,r,o,i,a;return P(this,function(l){return(i=(null==(o=e.model)?void 0:o.assignFormUid)&&(null==(t=(n=e.engine).getModel)?void 0:t.call(n,o.assignFormUid,!0)))&&(a=(null==i||null==(r=i.getAssignedValues)?void 0:r.call(i))||{},e.model.setStepParams(j,"assignFieldValues",{assignedValues:a})),[2]})})()}}}}),A.registerFlow({key:"apply",on:"click",steps:{apply:{defaultParams:function(e){return v(function(){var t;return P(this,function(n){return[2,{assignedValues:(null==(t=e.model.getStepParams(j,"assignFieldValues")||{})?void 0:t.assignedValues)||{}}]})})()},handler:function(e,t){return v(function(){var n,r,o,i,a,l,u,c,s,p,f,b,m,y,g,v,O,S,x,k,A;return P(this,function(P){switch(P.label){case 0:return l=(a=e.model.getStepParams(j,"confirm"))&&(void 0===a?"undefined":w(a))==="object"?a:{enable:!1},[4,e.runAction("confirm",l)];case 1:P.sent(),u={},P.label=2;case 2:return P.trys.push([2,4,,5]),[4,(0,d.resolveRunJSObjectValues)(e,null==t?void 0:t.assignedValues)];case 3:return u=P.sent(),[3,5];case 4:return console.error("[BulkUpdateAction] RunJS execution failed",P.sent()),e.message.error(e.t("RunJS execution failed")),[2];case 5:if(!u||(void 0===u?"undefined":w(u))!=="object"||!Object.keys(u).length)return e.message.warning(e.t("No assigned fields configured")),[2];if(!(c=null==(n=e.collection)?void 0:n.name))return e.message.error(e.t("Collection is required to perform this action")),[2];if("selected"!==((null==(s=e.model.getStepParams(j,"updateMode")||{})?void 0:s.value)||"selected"))return[3,7];if(!(S=(null==(b=e.blockModel)||null==(f=b.resource)||null==(p=f.getSelectedRows)?void 0:p.call(f))||[]).length)return e.message.error(e.t("Please select the records to be updated")),[2];return x=(null==(y=e.collection)||null==(m=y.getPrimaryKey)?void 0:m.call(y))||(null==(g=e.collection)?void 0:g.filterTargetKey)||"id",k={$and:[h({},(null==(v=e.collection)?void 0:v.filterTargetKey)||x||"id",{$in:S.map(function(t){return e.collection.getFilterByTK(t)}).filter(function(e){return null!=e})})]},e.model.setProps({loading:!0}),[4,e.api.resource(c,null,{"x-data-source":null==(O=e.collection)?void 0:O.dataSourceKey}).update({filter:k,values:u})];case 6:return P.sent(),e.model.setProps({loading:!1}),[3,9];case 7:return e.model.setProps({loading:!0}),[4,e.api.resource(c,null,{"x-data-source":null==(A=e.collection)?void 0:A.dataSourceKey}).update({values:u,forceUpdate:!0})];case 8:P.sent(),e.model.setProps({loading:!1}),P.label=9;case 9:return null==(i=e.blockModel)||null==(o=i.resource)||null==(r=o.refresh)||r.call(o),e.message.success(e.t("Saved successfully")),[2]}})})()}}}});var E=function(){var t,n,r=(0,e.useSchemaInitializerItem)();return o().createElement(e.BlockInitializer,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},r),n=n={schema:{type:"void",title:'{{ t("Bulk update") }}',"x-component":"Action","x-use-component-props":"useCustomizeBulkUpdateActionProps","x-align":"right","x-acl-action":"update","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0},"x-action":"customize:bulkUpdate","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:bulkUpdate","x-action-settings":{assignedValues:{},updateMode:"selected",onSuccess:{manualClose:!0,redirecting:!1,successMessage:'{{t("Updated successfully")}}'}},"x-component-props":{icon:"EditOutlined"}},item:r},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))},C=function(){var t,n,r=(0,e.useSchemaInitializerItem)();return o().createElement(e.BlockInitializer,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},r),n=n={item:r},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))},M=s(768),T=s(59);function F(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function I(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){F(i,r,o,a,l,"next",e)}function l(e){F(i,r,o,a,l,"throw",e)}a(void 0)})}}function R(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var U=function(){var o=(0,e.useBlockRequestContext)(),i=o.field,a=o.resource,l=o.__parent,u=o.service,c=(0,r.useContext)(t.SchemaExpressionScopeContext),s=(0,t.useFieldSchema)(),p=(0,e.useTableBlockContext)(),f=(0,e.useTableSelectorContext)(),d=p.rowKey,m=(0,e.useNavigateNoUpdate)(),y=(0,e.useCompile)(),g=(0,n.useTranslation)(b,{nsMode:"fallback"}).t,v=(0,t.useField)(),h=T.App.useApp().modal,O=(0,e.useVariables)(),S=(0,e.useCollection_deprecated)(),w=(S.name,S.getField),x=(0,e.useLocalVariables)();return{onClick:function(t,n){return I(function(){return B(this,function(t){return[2,new Promise(function(t){return I(function(){var r,o,b,S,P,j,k,A,E,C,F,U,_,V,D;return B(this,function(q){switch(q.label){case 0:return F=void 0===(C=(E=null!=(r=null==s?void 0:s["x-action-settings"])?r:{}).assignedValues)?{}:C,U=E.onSuccess,_=E.updateMode,v.data=i.data||{},v.data.loading=!0,V=null!=(o=null!=(b=null!=(S=null==(j=p.field)||null==(P=j.data)?void 0:P.selectedRowKeys)?S:null==c?void 0:c.selectedRecordKeys)?b:null==(A=f.field)||null==(k=A.data)?void 0:k.selectedRowKeys)?o:{},D={},[4,Promise.all(Object.keys(F).map(function(t){return I(function(){var n,r,o;return B(this,function(i){switch(i.label){case 0:if(n=F[t],r=w(t),!(0,e.isVariable)(n))return[3,2];return[4,null==O?void 0:O.parseVariable(n,x).then(function(e){return e.value})];case 1:return(o=i.sent())&&(D[t]=(0,e.transformVariableValue)(o,{targetCollectionField:r})),[3,3];case 2:""!==n&&(D[t]=n),i.label=3;case 3:return[2]}})})()}))];case 1:return q.sent(),h.confirm({title:g("Bulk update",{ns:"client"}),content:"selected"===_?g("Update selected data?",{ns:"client"}):g("Update all data?",{ns:"client"}),onOk:function(){return I(function(){var r,o,i,c,s,p;return B(this,function(f){switch(f.label){case 0:if(i=(null!=(r=null==(o=u.params)?void 0:o[0])?r:{}).filter,c={values:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){R(e,t,n[t])})}return e}({},D),filter:i,forceUpdate:!1},"selected"===_){if(!(null==V?void 0:V.length))return T.message.error(g("Please select the records to be updated")),v.data.loading=!1,[2];c.filter={$and:[R({},d||"id",{$in:V})]}}c.filter||(c.forceUpdate=!0),f.label=1;case 1:return f.trys.push([1,3,4,5]),[4,a.update(c)];case 2:case 3:return f.sent(),[3,5];case 4:return v.data.loading=!1,[7];case 5:var b;if(n&&(null==n||n()),(null!=(b=e.TableFieldResource)&&"u">typeof Symbol&&b[Symbol.hasInstance]?b[Symbol.hasInstance](a):a instanceof b)||null==l||null==(p=l.service)||null==(s=p.refresh)||s.call(p),!(null==U?void 0:U.successMessage))return[2];return(null==U?void 0:U.manualClose)?h.success({title:y(null==U?void 0:U.successMessage),onOk:function(){return I(function(){return B(this,function(e){return(null==U?void 0:U.redirecting)&&(null==U?void 0:U.redirectTo)&&((0,M.isURL)(U.redirectTo)?window.location.href=U.redirectTo:m(U.redirectTo)),[2]})})()}}):(T.message.success(y(null==U?void 0:U.successMessage)),(null==U?void 0:U.redirecting)&&(null==U?void 0:U.redirectTo)&&((0,M.isURL)(U.redirectTo)?window.location.href=U.redirectTo:m(U.redirectTo))),t(),[2]}})})()},onCancel:function(){return I(function(){return B(this,function(e){return v.data.loading=!1,t(),[2]})})()}}),[2]}})})()})]})})()}}};function _(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function V(e,t,n){return(V=K()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&q(o,n.prototype),o}).apply(null,arguments)}function D(e){return(D=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function q(e,t){return(q=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z(e){var t="function"==typeof Map?new Map:void 0;return(z=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return V(e,arguments,D(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),q(n,e)})(e)}function K(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(K=function(){return!!e})()}var N=function(t){var n;if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=D(e),function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,K()?Reflect.construct(e,t||[],D(this).constructor):e.apply(this,t))}return r.prototype=Object.create(t&&t.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),t&&q(r,t),n=[{key:"load",value:function(){var t;return(t=function(){var t;return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){return this.app.addComponents({CustomizeActionInitializer:C}),this.app.addScopes({useCustomizeBulkUpdateActionProps:U}),this.app.schemaSettingsManager.add(p),this.app.schemaSettingsManager.add(f),this.app.flowEngine.registerModels({BulkUpdateActionModel:A}),t={title:'{{t("Bulk update")}}',Component:E,name:"bulkUpdate",useVisible:function(){return(0,e.useActionAvailable)("updateMany")}},this.app.schemaInitializerManager.addItem("table:configureActions","customize.bulkUpdate",t),this.app.schemaInitializerManager.addItem("gantt:configureActions","customize.bulkUpdate",t),this.app.schemaInitializerManager.addItem("map:configureActions","customize.bulkUpdate",t),[2]})},function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function a(e){_(i,r,o,a,l,"next",e)}function l(e){_(i,r,o,a,l,"throw",e)}a(void 0)})}).call(this)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(r.prototype,n),r}(z(e.Plugin)),$=N}(),m}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/utils/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-action-bulk-update",["react-i18next","react","antd","@nocobase/client","@formily/react","@nocobase/flow-engine","@nocobase/utils/client"],t):"object"==typeof exports?exports["@nocobase/plugin-action-bulk-update"]=t(require("react-i18next"),require("react"),require("antd"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/flow-engine"),require("@nocobase/utils/client")):e["@nocobase/plugin-action-bulk-update"]=t(e["react-i18next"],e.react,e.antd,e["@nocobase/client"],e["@formily/react"],e["@nocobase/flow-engine"],e["@nocobase/utils/client"])}(self,function(e,t,n,r,o,i,a){return function(){"use strict";var l={230:function(e){e.exports=o},342:function(e){e.exports=r},694:function(e){e.exports=i},768:function(e){e.exports=a},59:function(e){e.exports=n},155:function(e){e.exports=t},953:function(t){t.exports=e}},u={};function c(e){var t=u[e];if(void 0!==t)return t.exports;var n=u[e]={exports:{}};return l[e](n,n.exports,c),n.exports}c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,{a:t}),t},c.d=function(e,t){for(var n in t)c.o(t,n)&&!c.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.g.importScripts&&(s=c.g.location+"");var s,p=c.g.document;if(!s&&p&&(p.currentScript&&"SCRIPT"===p.currentScript.tagName.toUpperCase()&&(s=p.currentScript.src),!s)){var f=p.getElementsByTagName("script");if(f.length)for(var d=f.length-1;d>-1&&(!s||!/^http(s?):/.test(s));)s=f[d--].src}if(!s)throw Error("Automatic publicPath is not supported in this browser");c.p=s.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var b={},m=window.__nocobase_public_path__||"";if(!m&&window.location&&window.location.pathname){var y=window.location.pathname||"/",g=y.indexOf("/v2/");m=g>=0?y.slice(0,g+1):"/"}return m&&(m=m.replace(/\/v2\/?$/,"/")),m||(m="/"),"/"!==m.charAt(m.length-1)&&(m+="/"),c.p=m+"static/plugins/@nocobase/plugin-action-bulk-update/dist/client/",!function(){c.r(b),c.d(b,{default:function(){return $},BulkUpdateActionModel:function(){return A},PluginActionBulkUpdateClient:function(){return N}});var e=c(342),t=c(230),n=c(953),r=c(155),o=c.n(r);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l={value:"value",label:"label"},u=function(t){var n;return{scope:[t].concat(function(e){if(Array.isArray(e))return i(e)}(n=(0,e.useAfterSuccessOptions)())||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||function(e){if(e){if("string"==typeof e)return i(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return i(e,void 0)}}(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).filter(Boolean),fieldNames:l}},s=[{name:"editButton",Component:e.ActionDesigner.ButtonEditor,useComponentProps:function(){return(0,e.useSchemaToolbar)().buttonEditorProps}},{name:"linkageRules",Component:e.SchemaSettingsLinkageRules,useComponentProps:function(){var t,n,r=(0,e.useCollection_deprecated)().name,o=((0,e.useDataBlockProps)()||{}).association,i=(0,(0,e.useCollectionManager_deprecated)().getCollectionField)(o);return t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){a(e,t,n[t])})}return e}({},(0,e.useSchemaToolbar)().linkageRulesProps),n=n={collectionName:(null==i?void 0:i.collectionName)||r},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t}},{name:"updateMode",Component:function(){var r,i=(0,e.useDesignable)().dn,a=(0,n.useTranslation)().t,l=(0,t.useFieldSchema)();return o().createElement(e.SchemaSettingsSelectItem,{title:a("Data will be updated"),options:[{label:a("Selected"),value:"selected"},{label:a("Entire collection",{ns:"action-bulk-edit"}),value:"all"}],value:null==l||null==(r=l["x-action-settings"])?void 0:r.updateMode,onChange:function(e){l["x-action-settings"].updateMode=e,i.emit("patch",{schema:{"x-uid":l["x-uid"],"x-action-settings":l["x-action-settings"]}}),i.refresh()}})},useVisible:function(){return["customize:bulkUpdate","customize:bulkEdit"].includes((0,t.useFieldSchema)()["x-action"])}},{name:"assignFieldValues",Component:e.AssignedFieldValues},{name:"afterSuccess",Component:function(){var r,i,l=(0,e.useDesignable)().dn,c=(0,n.useTranslation)().t,s=(0,t.useFieldSchema)(),p=(0,e.useGlobalVariable)("$env"),f=(0,e.usePlugin)("@nocobase/plugin-block-template"),d=null==f||null==(r=f.isInBlockTemplateConfigPage)?void 0:r.call(f);return o().createElement(e.SchemaSettingsModalItem,{dialogRootClassName:"dialog-after-successful-submission",width:700,title:c("After successful submission"),initialValues:null==s||null==(i=s["x-action-settings"])?void 0:i.onSuccess,schema:{type:"object",title:c("After successful submission"),properties:{successMessage:{title:c("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}},manualClose:{title:c("Popup close method"),enum:[{label:c("Automatic close"),value:!1},{label:c("Manually close"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{}},redirecting:{title:c("Then"),enum:[{label:c("Stay on current page"),value:!1},{label:c("Redirect to"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{!!$self.value}}"}}}},redirectTo:{title:c("Link"),"x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":function(){return u(p)}},blocksToRefresh:{type:"array",title:c("Refresh data blocks"),"x-decorator":"FormItem","x-use-decorator-props":function(){return{tooltip:c("After successful submission, the selected data blocks will be automatically refreshed.")}},"x-component":e.BlocksSelector,"x-hidden":d}}},onSubmit:function(e){var t;s["x-action-settings"].onSuccess=e,l.emit("patch",{schema:(a(t={},"x-uid",s["x-uid"]),a(t,"x-action-settings",s["x-action-settings"]),t)})}})}},{name:"refreshDataBlockRequest",Component:e.RefreshDataBlockRequest,useComponentProps:function(){return{isPopupAction:!1}}},{name:"remove",sort:100,Component:e.ActionDesigner.RemoveButton,useComponentProps:function(){return(0,e.useSchemaToolbar)().removeButtonProps}}],p=new e.SchemaSettings({name:"ActionSettings:customize:bulkUpdate",items:s}),f=new e.SchemaSettings({name:"actionSettings:bulkUpdate",items:s}),d=c(694),m="action-bulk-update";function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function v(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){g(i,r,o,a,l,"next",e)}function l(e){g(i,r,o,a,l,"throw",e)}a(void 0)})}}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(e){return(O=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function w(e,t){return(w=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function S(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function x(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(x=function(){return!!e})()}function P(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var j="assignSettings";function k(){var e,t=(0,d.useFlowSettingsContext)(),n=t.model,i=t.blockModel,a=(0,d.useFlowEngine)(),l=(0,r.useRef)(!1),u=function(e){if(Array.isArray(e))return e}(e=o().useState(null))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],i=!0,a=!1;try{for(r=r.call(e);!(i=(t=r.next()).done)&&(o.push(t.value),2!==o.length);i=!0);}catch(e){a=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(a)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return y(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return y(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),c=u[0],s=u[1];return(0,r.useEffect)(function(){var e=!1;return v(function(){var t;return P(this,function(r){switch(r.label){case 0:return[4,a.loadOrCreateModel({parentId:n.uid,subKey:"assignForm",use:"AssignFormModel"})];case 1:if(t=r.sent(),e)return[2];return s(t),n.assignFormUid=(null==t?void 0:t.uid)||n.assignFormUid,[2]}})})(),function(){e=!0}},[n,a]),(0,r.useEffect)(function(){if(!l.current&&c){var e,t,r=(null==(e=n.getStepParams)?void 0:e.call(n,j,"assignFieldValues"))||{},o=(null==i?void 0:i.collection)||(null==n||null==(t=n.context)?void 0:t.collection),a=null==o?void 0:o.dataSourceKey,u=null==o?void 0:o.name;a&&u&&c.setStepParams("resourceSettings","init",{dataSourceKey:a,collectionName:u}),c.setInitialAssignedValues((null==r?void 0:r.assignedValues)||{}),c.context.defineProperty("record",{get:function(){},cache:!1}),l.current=!0}},[n,null==i?void 0:i.collection,c]),c?o().createElement(d.FlowModelRenderer,{model:c,showFlowSettings:!1}):null}var A=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t,r;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return t=n,r=arguments,t=O(t),h(e=function(e,t){if(t&&("object"===S(t)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,x()?Reflect.construct(t,r||[],O(this).constructor):t.apply(this,r)),"assignFormUid",void 0),h(e,"defaultProps",{title:(0,d.tExpr)("Bulk update"),icon:"EditOutlined"}),e}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&w(n,e),t=[{key:"getAclActionName",value:function(){return"update"}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(e.ActionModel);h(A,"scene",e.ActionSceneEnum.collection),h(A,"capabilityActionName","updateMany"),A.define({label:(0,d.tExpr)("Bulk update"),createModelOptions:function(e){var t,n=e.collection.dataSourceKey,r=null==(t=e.collection)?void 0:t.name;return{subModels:{assignForm:{use:"AssignFormModel",async:!0,stepParams:{resourceSettings:{init:n&&r?{dataSourceKey:n,collectionName:r}:void 0}}}}}}}),A.registerFlow({key:j,title:(0,d.tExpr)("Bulk update action settings",{ns:m}),manual:!0,steps:{confirm:{title:(0,d.tExpr)("Secondary confirmation"),use:"confirm",defaultParams:{enable:!1,title:(0,d.tExpr)("Bulk update"),content:(0,d.tExpr)("Are you sure you want to perform the Update record action?")}},updateMode:{title:(0,d.tExpr)("Data will be updated"),uiSchema:{value:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,d.tExpr)("Selected"),value:"selected"},{label:(0,d.tExpr)("All"),value:"all"}],default:"selected"}}},assignFieldValues:{title:(0,d.tExpr)("Assign field values"),uiSchema:function(){return{editor:{"x-decorator":"FormItem","x-component":function(){return o().createElement(k,null)}}}},beforeParamsSave:function(e){return v(function(){var t,n,r,o,i,a;return P(this,function(l){return(i=(null==(o=e.model)?void 0:o.assignFormUid)&&(null==(t=(n=e.engine).getModel)?void 0:t.call(n,o.assignFormUid,!0)))&&(a=(null==i||null==(r=i.getAssignedValues)?void 0:r.call(i))||{},e.model.setStepParams(j,"assignFieldValues",{assignedValues:a})),[2]})})()}}}}),A.registerFlow({key:"apply",on:"click",steps:{apply:{defaultParams:function(e){return v(function(){var t;return P(this,function(n){return[2,{assignedValues:(null==(t=e.model.getStepParams(j,"assignFieldValues")||{})?void 0:t.assignedValues)||{}}]})})()},handler:function(e,t){return v(function(){var n,r,o,i,a,l,u,c,s,p,f,b,m,y,g,v,O,w,x,k,A;return P(this,function(P){switch(P.label){case 0:return l=(a=e.model.getStepParams(j,"confirm"))&&(void 0===a?"undefined":S(a))==="object"?a:{enable:!1},[4,e.runAction("confirm",l)];case 1:P.sent(),u={},P.label=2;case 2:return P.trys.push([2,4,,5]),[4,(0,d.resolveRunJSObjectValues)(e,null==t?void 0:t.assignedValues)];case 3:return u=P.sent(),[3,5];case 4:return console.error("[BulkUpdateAction] RunJS execution failed",P.sent()),e.message.error(e.t("RunJS execution failed")),[2];case 5:if(!u||(void 0===u?"undefined":S(u))!=="object"||!Object.keys(u).length)return e.message.warning(e.t("No assigned fields configured")),[2];if(!(c=null==(n=e.collection)?void 0:n.name))return e.message.error(e.t("Collection is required to perform this action")),[2];if("selected"!==((null==(s=e.model.getStepParams(j,"updateMode")||{})?void 0:s.value)||"selected"))return[3,7];if(!(w=(null==(b=e.blockModel)||null==(f=b.resource)||null==(p=f.getSelectedRows)?void 0:p.call(f))||[]).length)return e.message.error(e.t("Please select the records to be updated")),[2];return x=(null==(y=e.collection)||null==(m=y.getPrimaryKey)?void 0:m.call(y))||(null==(g=e.collection)?void 0:g.filterTargetKey)||"id",k={$and:[h({},(null==(v=e.collection)?void 0:v.filterTargetKey)||x||"id",{$in:w.map(function(t){return e.collection.getFilterByTK(t)}).filter(function(e){return null!=e})})]},e.model.setProps({loading:!0}),[4,e.api.resource(c,null,{"x-data-source":null==(O=e.collection)?void 0:O.dataSourceKey}).update({filter:k,values:u})];case 6:return P.sent(),e.model.setProps({loading:!1}),[3,9];case 7:return e.model.setProps({loading:!0}),[4,e.api.resource(c,null,{"x-data-source":null==(A=e.collection)?void 0:A.dataSourceKey}).update({values:u,forceUpdate:!0})];case 8:P.sent(),e.model.setProps({loading:!1}),P.label=9;case 9:return null==(i=e.blockModel)||null==(o=i.resource)||null==(r=o.refresh)||r.call(o),e.message.success(e.t("Saved successfully")),[2]}})})()}}}});var E=function(){var t,n,r=(0,e.useSchemaInitializerItem)();return o().createElement(e.BlockInitializer,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},r),n=n={schema:{type:"void",title:'{{ t("Bulk update") }}',"x-component":"Action","x-use-component-props":"useCustomizeBulkUpdateActionProps","x-align":"right","x-acl-action":"update","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0},"x-action":"customize:bulkUpdate","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:bulkUpdate","x-action-settings":{assignedValues:{},updateMode:"selected",onSuccess:{manualClose:!0,redirecting:!1,successMessage:'{{t("Updated successfully")}}'}},"x-component-props":{icon:"EditOutlined"}},item:r},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))},C=function(){var t,n,r=(0,e.useSchemaInitializerItem)();return o().createElement(e.BlockInitializer,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},r),n=n={item:r},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))},M=c(768),T=c(59);function F(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function I(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){F(i,r,o,a,l,"next",e)}function l(e){F(i,r,o,a,l,"throw",e)}a(void 0)})}}function R(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var U=function(){var o=(0,e.useBlockRequestContext)(),i=o.field,a=o.resource,l=o.__parent,u=o.service,c=(0,r.useContext)(t.SchemaExpressionScopeContext),s=(0,t.useFieldSchema)(),p=(0,e.useTableBlockContext)(),f=(0,e.useTableSelectorContext)(),d=p.rowKey,b=(0,e.useNavigateNoUpdate)(),y=(0,e.useCompile)(),g=(0,n.useTranslation)(m,{nsMode:"fallback"}).t,v=(0,t.useField)(),h=T.App.useApp().modal,O=(0,e.useVariables)(),w=(0,e.useCollection_deprecated)(),S=(w.name,w.getField),x=(0,e.useLocalVariables)();return{onClick:function(t,n){return I(function(){return B(this,function(t){return[2,new Promise(function(t){return I(function(){var r,o,m,w,P,j,k,A,E,C,F,U,_,V,D;return B(this,function(q){switch(q.label){case 0:return F=void 0===(C=(E=null!=(r=null==s?void 0:s["x-action-settings"])?r:{}).assignedValues)?{}:C,U=E.onSuccess,_=E.updateMode,v.data=i.data||{},v.data.loading=!0,V=null!=(o=null!=(m=null!=(w=null==(j=p.field)||null==(P=j.data)?void 0:P.selectedRowKeys)?w:null==c?void 0:c.selectedRecordKeys)?m:null==(A=f.field)||null==(k=A.data)?void 0:k.selectedRowKeys)?o:{},D={},[4,Promise.all(Object.keys(F).map(function(t){return I(function(){var n,r,o;return B(this,function(i){switch(i.label){case 0:if(n=F[t],r=S(t),!(0,e.isVariable)(n))return[3,2];return[4,null==O?void 0:O.parseVariable(n,x).then(function(e){return e.value})];case 1:return(o=i.sent())&&(D[t]=(0,e.transformVariableValue)(o,{targetCollectionField:r})),[3,3];case 2:""!==n&&(D[t]=n),i.label=3;case 3:return[2]}})})()}))];case 1:return q.sent(),h.confirm({title:g("Bulk update",{ns:"client"}),content:"selected"===_?g("Update selected data?",{ns:"client"}):g("Update all data?",{ns:"client"}),onOk:function(){return I(function(){var r,o,i,c,s,p;return B(this,function(f){switch(f.label){case 0:if(i=(null!=(r=null==(o=u.params)?void 0:o[0])?r:{}).filter,c={values:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){R(e,t,n[t])})}return e}({},D),filter:i,forceUpdate:!1},"selected"===_){if(!(null==V?void 0:V.length))return T.message.error(g("Please select the records to be updated")),v.data.loading=!1,[2];c.filter={$and:[R({},d||"id",{$in:V})]}}c.filter||(c.forceUpdate=!0),f.label=1;case 1:return f.trys.push([1,3,4,5]),[4,a.update(c)];case 2:case 3:return f.sent(),[3,5];case 4:return v.data.loading=!1,[7];case 5:var m;if(n&&(null==n||n()),(null!=(m=e.TableFieldResource)&&"u">typeof Symbol&&m[Symbol.hasInstance]?m[Symbol.hasInstance](a):a instanceof m)||null==l||null==(p=l.service)||null==(s=p.refresh)||s.call(p),!(null==U?void 0:U.successMessage))return[2];return(null==U?void 0:U.manualClose)?h.success({title:y(null==U?void 0:U.successMessage),onOk:function(){return I(function(){return B(this,function(e){return(null==U?void 0:U.redirecting)&&(null==U?void 0:U.redirectTo)&&((0,M.isURL)(U.redirectTo)?window.location.href=U.redirectTo:b(U.redirectTo)),[2]})})()}}):(T.message.success(y(null==U?void 0:U.successMessage)),(null==U?void 0:U.redirecting)&&(null==U?void 0:U.redirectTo)&&((0,M.isURL)(U.redirectTo)?window.location.href=U.redirectTo:b(U.redirectTo))),t(),[2]}})})()},onCancel:function(){return I(function(){return B(this,function(e){return v.data.loading=!1,t(),[2]})})()}}),[2]}})})()})]})})()}}};function _(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function V(e,t,n){return(V=K()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&q(o,n.prototype),o}).apply(null,arguments)}function D(e){return(D=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function q(e,t){return(q=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z(e){var t="function"==typeof Map?new Map:void 0;return(z=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return V(e,arguments,D(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),q(n,e)})(e)}function K(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(K=function(){return!!e})()}var N=function(t){var n;if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=D(e),function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,K()?Reflect.construct(e,t||[],D(this).constructor):e.apply(this,t))}return r.prototype=Object.create(t&&t.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),t&&q(r,t),n=[{key:"load",value:function(){var t;return(t=function(){var t;return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){return this.app.addComponents({CustomizeActionInitializer:C}),this.app.addScopes({useCustomizeBulkUpdateActionProps:U}),this.app.schemaSettingsManager.add(p),this.app.schemaSettingsManager.add(f),this.app.flowEngine.registerModels({BulkUpdateActionModel:A}),t={title:'{{t("Bulk update")}}',Component:E,name:"bulkUpdate",useVisible:function(){return(0,e.useActionAvailable)("updateMany")}},this.app.schemaInitializerManager.addItem("table:configureActions","customize.bulkUpdate",t),this.app.schemaInitializerManager.addItem("gantt:configureActions","customize.bulkUpdate",t),this.app.schemaInitializerManager.addItem("map:configureActions","customize.bulkUpdate",t),[2]})},function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function a(e){_(i,r,o,a,l,"next",e)}function l(e){_(i,r,o,a,l,"throw",e)}a(void 0)})}).call(this)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(r.prototype,n),r}(z(e.Plugin)),$=N}(),b}()});
@@ -9,12 +9,12 @@
9
9
 
10
10
  module.exports = {
11
11
  "@formily/react": "2.3.7",
12
- "@nocobase/client": "2.1.0-alpha.10",
12
+ "@nocobase/client": "2.1.0-alpha.12",
13
13
  "react-i18next": "11.18.6",
14
14
  "react": "18.2.0",
15
- "@nocobase/flow-engine": "2.1.0-alpha.10",
15
+ "@nocobase/flow-engine": "2.1.0-alpha.12",
16
16
  "antd": "5.24.2",
17
- "@nocobase/utils": "2.1.0-alpha.10",
18
- "@nocobase/server": "2.1.0-alpha.10",
19
- "@nocobase/test": "2.1.0-alpha.10"
17
+ "@nocobase/utils": "2.1.0-alpha.12",
18
+ "@nocobase/server": "2.1.0-alpha.12",
19
+ "@nocobase/test": "2.1.0-alpha.12"
20
20
  };
@@ -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 type { FlowSchemaContribution } from '@nocobase/flow-engine';
10
+ export declare const flowSchemaContribution: FlowSchemaContribution;
@@ -0,0 +1,169 @@
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
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var flow_schema_contributions_exports = {};
28
+ __export(flow_schema_contributions_exports, {
29
+ flowSchemaContribution: () => flowSchemaContribution
30
+ });
31
+ module.exports = __toCommonJS(flow_schema_contributions_exports);
32
+ const confirmStepParamsSchema = {
33
+ type: "object",
34
+ properties: {
35
+ enable: { type: "boolean" },
36
+ title: { type: "string" },
37
+ content: { type: "string" }
38
+ },
39
+ additionalProperties: false
40
+ };
41
+ const bulkUpdateActionModelSchemaContribution = {
42
+ use: "BulkUpdateActionModel",
43
+ title: "Bulk update action",
44
+ source: "plugin",
45
+ strict: false,
46
+ stepParamsSchema: {
47
+ type: "object",
48
+ properties: {
49
+ assignSettings: {
50
+ type: "object",
51
+ properties: {
52
+ confirm: confirmStepParamsSchema,
53
+ updateMode: {
54
+ type: "object",
55
+ properties: {
56
+ value: {
57
+ type: "string",
58
+ enum: ["selected", "all"]
59
+ }
60
+ },
61
+ required: ["value"],
62
+ additionalProperties: false
63
+ },
64
+ assignFieldValues: {
65
+ type: "object",
66
+ properties: {
67
+ assignedValues: {
68
+ type: "object",
69
+ additionalProperties: true
70
+ }
71
+ },
72
+ additionalProperties: false
73
+ }
74
+ },
75
+ additionalProperties: true
76
+ },
77
+ apply: {
78
+ type: "object",
79
+ properties: {
80
+ apply: {
81
+ type: "object",
82
+ properties: {
83
+ assignedValues: {
84
+ type: "object",
85
+ additionalProperties: true
86
+ }
87
+ },
88
+ additionalProperties: true
89
+ }
90
+ },
91
+ additionalProperties: true
92
+ }
93
+ },
94
+ additionalProperties: true
95
+ },
96
+ subModelSlots: {
97
+ assignForm: {
98
+ type: "object",
99
+ use: "AssignFormModel",
100
+ description: "Internal assignment form used to configure bulk update field/value pairs."
101
+ }
102
+ },
103
+ skeleton: {
104
+ uid: "todo-bulk-update-action-uid",
105
+ use: "BulkUpdateActionModel",
106
+ stepParams: {
107
+ assignSettings: {
108
+ confirm: {
109
+ enable: false,
110
+ title: "Bulk update",
111
+ content: "Are you sure you want to perform the Update record action?"
112
+ },
113
+ updateMode: {
114
+ value: "selected"
115
+ },
116
+ assignFieldValues: {
117
+ assignedValues: {}
118
+ }
119
+ }
120
+ },
121
+ subModels: {
122
+ assignForm: {
123
+ uid: "todo-bulk-update-assign-form-uid",
124
+ use: "AssignFormModel"
125
+ }
126
+ }
127
+ },
128
+ docs: {
129
+ minimalExample: {
130
+ uid: "bulk-update-users",
131
+ use: "BulkUpdateActionModel",
132
+ stepParams: {
133
+ assignSettings: {
134
+ updateMode: {
135
+ value: "selected"
136
+ }
137
+ }
138
+ },
139
+ subModels: {
140
+ assignForm: {
141
+ uid: "bulk-update-users-assign-form",
142
+ use: "AssignFormModel"
143
+ }
144
+ }
145
+ },
146
+ dynamicHints: [
147
+ {
148
+ kind: "dynamic-ui-schema",
149
+ path: "BulkUpdateActionModel.stepParams.assignSettings.assignFieldValues.assignedValues",
150
+ message: "Assigned field/value pairs depend on runtime collection fields and assign-form editors.",
151
+ "x-flow": {
152
+ contextRequirements: ["collection fields", "assign form child tree"],
153
+ unresolvedReason: "runtime-bulk-update-assigned-values",
154
+ recommendedFallback: {}
155
+ }
156
+ }
157
+ ]
158
+ }
159
+ };
160
+ const flowSchemaContribution = {
161
+ models: [bulkUpdateActionModelSchemaContribution],
162
+ defaults: {
163
+ source: "plugin"
164
+ }
165
+ };
166
+ // Annotate the CommonJS export names for ESM import in node:
167
+ 0 && (module.exports = {
168
+ flowSchemaContribution
169
+ });
@@ -6,8 +6,10 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
+ import type { FlowSchemaContribution } from '@nocobase/flow-engine';
9
10
  import { InstallOptions, Plugin } from '@nocobase/server';
10
11
  export declare class PluginActionBulkUpdateServer extends Plugin {
12
+ getFlowSchemaContributions(): FlowSchemaContribution;
11
13
  afterAdd(): void;
12
14
  beforeLoad(): void;
13
15
  load(): Promise<void>;
@@ -31,7 +31,11 @@ __export(plugin_exports, {
31
31
  });
32
32
  module.exports = __toCommonJS(plugin_exports);
33
33
  var import_server = require("@nocobase/server");
34
+ var import_flow_schema_contributions = require("./flow-schema-contributions");
34
35
  class PluginActionBulkUpdateServer extends import_server.Plugin {
36
+ getFlowSchemaContributions() {
37
+ return import_flow_schema_contributions.flowSchemaContribution;
38
+ }
35
39
  afterAdd() {
36
40
  }
37
41
  beforeLoad() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-action-bulk-update",
3
- "version": "2.1.0-alpha.10",
3
+ "version": "2.1.0-alpha.12",
4
4
  "main": "dist/server/index.js",
5
5
  "homepage": "https://docs.nocobase.com/handbook/action-bulk-update",
6
6
  "homepage.ru-RU": "https://docs-ru.nocobase.com/handbook/action-bulk-update",
@@ -24,7 +24,7 @@
24
24
  "@nocobase/server": "2.x",
25
25
  "@nocobase/test": "2.x"
26
26
  },
27
- "gitHead": "ce790d46c0a5768ca9618c7d0d77ab8300de75c8",
27
+ "gitHead": "f12c4a75470590b1670ce54510b96ef94c2cd7a2",
28
28
  "keywords": [
29
29
  "Actions"
30
30
  ]