@nocobase/plugin-action-bulk-edit
Version:
Batch edit all records or selected records.
10 lines (9 loc) • 13.2 kB
JavaScript
/**
* This file is part of the NocoBase (R) project.
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
* Authors: NocoBase Team.
*
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
* For more information, please refer to: https://www.nocobase.com/agreement.
*/
"use strict";(self.webpackChunk_nocobase_plugin_action_bulk_edit_client_v2=self.webpackChunk_nocobase_plugin_action_bulk_edit_client_v2||[]).push([["43"],{861:function(e,t,r){r.r(t),r.d(t,{BulkEditFormModel:function(){return s}});var n=r(485),o=r(694);function l(e,t,r,n,o,l,u){try{var i=e[l](u),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e){return(i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(a=function(){return!!e})()}var s=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t,n;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return t=r,n=arguments,t=i(t),u(e=function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,a()?Reflect.construct(t,n||[],i(this).constructor):t.apply(this,n)),"customModelClasses",{FormActionGroupModel:"BulkEditFormActionGroupModel",FormItemModel:"BulkEditFormItemModel"}),e}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&c(r,e),t=[{key:"getAclActionName",value:function(){return"update"}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(n.CreateFormModel);u(s,"scene",n.BlockSceneEnum.bulkEditForm),s.define({label:(0,o.tExpr)("Form"),children:!1,createModelOptions:function(e,t){var r;return(r=function(){var t,r,n;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(u,"next",{value:c(0)}),i(u,"throw",{value:c(1)}),i(u,"return",{value:c(2)}),"function"==typeof Symbol&&i(u,Symbol.iterator,{value:function(){return this}}),u;function c(i){return function(c){var a=[i,c];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,a[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,n=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}}(this,function(o){return n=(r=(null==(t=e.view)?void 0:t.inputArgs)||{}).collectionName,[2,{use:"BulkEditFormModel",subModels:{grid:{use:"BulkEditFormGridModel"}},stepParams:{resourceSettings:{init:{dataSourceKey:r.dataSourceKey,collectionName:n}}}}]})},function(){var e=this,t=arguments;return new Promise(function(n,o){var u=r.apply(e,t);function i(e){l(u,n,o,i,c,"next",e)}function c(e){l(u,n,o,i,c,"throw",e)}i(void 0)})})()}})},38:function(e,t,r){r.r(t),r.d(t,{BulkEditFormSubmitActionModel:function(){return y}});var n=r(485),o=r(694),l=r(967);function u(e,t,r,n,o,l,u){try{var i=e[l](u),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){i(e,t,r[t])})}return e}var a=r(861);function s(e,t,r,n,o,l,u){try{var i=e[l](u),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function f(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function u(e){s(l,n,o,u,i,"next",e)}function i(e){s(l,n,o,u,i,"throw",e)}u(void 0)})}}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(b=function(){return!!e})()}function v(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(u,"next",{value:c(0)}),i(u,"throw",{value:c(1)}),i(u,"return",{value:c(2)}),"function"==typeof Symbol&&i(u,Symbol.iterator,{value:function(){return this}}),u;function c(i){return function(c){var a=[i,c];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,a[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,n=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}}var y=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,r,n,l,u,i;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");return r=t,n=arguments,r=d(r),l=e=function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,b()?Reflect.construct(r,n||[],d(this).constructor):r.apply(this,n)),u="defaultProps",i={title:(0,o.tExpr)("Submit"),type:"primary"},u in l?Object.defineProperty(l,u,{value:i,enumerable:!0,configurable:!0,writable:!0}):l[u]=i,e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&p(t,e),t}(n.FormSubmitActionModel);y.define({label:(0,o.tExpr)("Submit"),sort:1,hide:function(e){var t,r;return t=e.model,null!=(r=a.BulkEditFormModel)&&"u">typeof Symbol&&r[Symbol.hasInstance]?!r[Symbol.hasInstance](t):!(t instanceof r)}}),y.registerFlow({key:"submitSettings",title:(0,o.tExpr)("Send settings"),on:"click",steps:{verifySelectedRecords:{handler:function(e){return f(function(){var t,r,n,o,u,i,c,a;return v(this,function(s){return r=null==(t=e.view.inputArgs)?void 0:t.viewUid,o=null==(n=e.engine.getModel(r,!0))?void 0:n.parent,"selected"===((null==(u=(null==n?void 0:n.getStepParams("bulkEditSettings","editMode"))||{})?void 0:u.value)||"selected")&&((null==(a=(null==o||null==(c=o.resource)||null==(i=c.getSelectedRows)?void 0:i.call(c))||[])?void 0:a.length)||(e.message.error((0,l.vV)("Please select the records to be edited")),e.exit())),[2]})})()}},confirm:{use:"confirm",defaultParams:{enable:!1,title:(0,o.tExpr)("Submit record"),content:(0,o.tExpr)("Are you sure you want to save it?")},handler:function(e,t){return f(function(){return v(this,function(r){switch(r.label){case 0:if(!t.enable)return[3,5];r.label=1;case 1:return r.trys.push([1,4,,5]),[4,e.form.validateFields()];case 2:return r.sent(),[4,e.modal.confirm({title:e.t(t.title),content:e.t(t.content),okText:e.t("Confirm"),cancelText:e.t("Cancel")})];case 3:return r.sent()||e.exit(),[3,5];case 4:return r.sent(),e.exit(),[3,5];case 5:return[2]}})})()}},saveResource:{handler:function(e,t){return f(function(){var r;return v(this,function(n){switch(n.label){case 0:if(!(null==e?void 0:e.resource))throw Error("Resource is not initialized");if(!e.blockModel)throw Error("Block model is not initialized");n.label=1;case 1:var o;return n.trys.push([1,3,,4]),e.model.setProps("loading",!0),[4,(o=function(){var r,n,o,u,a,s,f,d,p,b,v,y,h,m,g,w,k,O,S,_,P,x,j,E,M,F,B;return function(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(u,"next",{value:c(0)}),i(u,"throw",{value:c(1)}),i(u,"return",{value:c(2)}),"function"==typeof Symbol&&i(u,Symbol.iterator,{value:function(){return this}}),u;function c(i){return function(c){var a=[i,c];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,a[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,n=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}}(this,function(T){switch(T.label){case 0:return[4,(u=e.blockModel).form.validateFields()];case 1:if(T.sent(),a=u.form.getFieldsValue(!0),s=null==(r=e.view.inputArgs)?void 0:r.viewUid,d=null==(f=e.engine.getModel(s,!0))?void 0:f.parent,b=(null==(p=(null==f?void 0:f.getStepParams("bulkEditSettings","editMode"))||{})?void 0:p.value)||"selected",v={values:a,forceUpdate:!1},"selected"===b){if(O=(null==d||null==(h=d.resource)||null==(y=h.getSelectedRows)?void 0:y.call(h))||[],S=(null==(g=e.collection)||null==(m=g.getPrimaryKey)?void 0:m.call(g))||(null==(w=e.collection)?void 0:w.filterTargetKey)||"id",_=(null==(k=e.collection)?void 0:k.filterTargetKey)||S||"id",!(null==(P=O.map(function(t){return e.collection.getFilterByTK(t)}).filter(function(e){return null!=e}))?void 0:P.length))return e.message.error((0,l.vV)("Please select the records to be edited")),e.exit(),[2];v.filter={$and:[i({},_,{$in:P})]}}else v.filter=null==d?void 0:d.resource.getFilter();if(!(x=null==d||null==(n=d.context)?void 0:n.collection))return null==(j=(E=e.message).error)||j.call(E,e.t("Collection not found")),null==(M=e.exit)||M.call(e),[2];if(!v.filter)return[3,3];return[4,e.api.resource(x.name,null,{"x-data-source":null==x?void 0:x.dataSourceKey}).update(c({filter:v.filter,values:v.values},null==(F=t.requestConfig)?void 0:F.params))];case 2:return T.sent(),[3,5];case 3:return[4,e.api.resource(x.name,null,{"x-data-source":null==x?void 0:x.dataSourceKey}).update(c({values:v.values,forceUpdate:!0},null==(B=t.requestConfig)?void 0:B.params))];case 4:T.sent(),T.label=5;case 5:return null==(o=u.resetUserModifiedFields)||o.call(u),e.message.success(e.t("Saved successfully")),[2]}})},function(){var e=this,t=arguments;return new Promise(function(r,n){var l=o.apply(e,t);function i(e){u(l,r,n,i,c,"next",e)}function c(e){u(l,r,n,i,c,"throw",e)}i(void 0)})})()];case 2:return n.sent(),e.model.setProps("loading",!1),[3,4];case 3:return r=n.sent(),e.model.setProps("loading",!1),console.error("Form submission error:",r),e.exit(),[3,4];case 4:return[2]}})})()}},refreshAndClose:{handler:function(e){return f(function(){var t,r,n,o,l;return v(this,function(u){return e.view&&(r=null==(t=e.view.inputArgs)?void 0:t.viewUid,(n=e.engine.getModel(r,!0))&&(null==(l=n.context.blockModel)||null==(o=l.resource)||o.refresh()),e.view.close()),[2]})})()}}}})},967:function(e,t,r){r.d(t,{CU:function(){return o},H6:function(){return u},vV:function(){return l}});var n=r(953),o="action-bulk-edit";function l(e){var t,r,n,l,u=null==(n=globalThis)||null==(r=n.window)?void 0:r.__nocobase_i18n__;return null!=(t=null==u||null==(l=u.t)?void 0:l.call(u,e,{ns:o}))?t:e}function u(){return(0,n.useTranslation)(o,{nsMode:"fallback"})}}}]);