UNPKG

@nocobase/plugin-action-bulk-update

Version:

Batch update all records or selected records.

10 lines (9 loc) • 13.3 kB
/** * 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. */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nocobase/client-v2"),require("@nocobase/flow-engine")):"function"==typeof define&&define.amd?define("@nocobase/plugin-action-bulk-update/client-v2",["@nocobase/client-v2","@nocobase/flow-engine"],t):"object"==typeof exports?exports["@nocobase/plugin-action-bulk-update/client-v2"]=t(require("@nocobase/client-v2"),require("@nocobase/flow-engine")):e["@nocobase/plugin-action-bulk-update/client-v2"]=t(e["@nocobase/client-v2"],e["@nocobase/flow-engine"])}(self,function(e,t){return function(){"use strict";var n={800:function(e,t,n){n.r(t),n.d(t,{BulkUpdateActionModel:function(){return b}});var r=n(485),o=n(694);function i(e,t,n,r,o,i,u){try{var l=e[i](u),a=l.value}catch(e){n(e);return}l.done?t(a):Promise.resolve(a).then(r,o)}function u(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var u=e.apply(t,n);function l(e){i(u,r,o,l,a,"next",e)}function a(e){i(u,r,o,l,a,"throw",e)}l(void 0)})}}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){return(a=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 s(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(p=function(){return!!e})()}function f(e,t){var n,r,o,i={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),l=Object.defineProperty;return l(u,"next",{value:a(0)}),l(u,"throw",{value:a(1)}),l(u,"return",{value:a(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function a(l){return function(a){var c=[l,a];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=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 d="assignSettings",b=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=a(t),l(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,p()?Reflect.construct(t,r||[],a(this).constructor):t.apply(this,r)),"assignFormUid",void 0),l(e,"defaultProps",{title:(0,o.tExpr)("Bulk update"),icon:"EditOutlined"}),e}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&c(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}(r.ActionModel);l(b,"scene",r.ActionSceneEnum.collection),l(b,"capabilityActionName","updateMany"),b.define({label:(0,o.tExpr)("Bulk update"),sort:1020,createModelOptions:function(e){return{subModels:{assignForm:(0,r.createAssignFormSubModelOptions)(e)}}}}),b.registerFlow({key:d,title:(0,o.tExpr)("Bulk update action settings",{ns:"action-bulk-update"}),manual:!0,steps:{confirm:{title:(0,o.tExpr)("Secondary confirmation"),use:"confirm",defaultParams:{enable:!1,title:(0,o.tExpr)("Bulk update"),content:(0,o.tExpr)("Are you sure you want to perform the Update record action?")}},updateMode:{title:(0,o.tExpr)("Data will be updated"),uiSchema:{value:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,o.tExpr)("Selected"),value:"selected"},{label:(0,o.tExpr)("All"),value:"all"}],default:"selected"}}},assignFieldValues:(0,r.createAssignFieldValuesStep)({settingsFlowKey:d,title:(0,o.tExpr)("Assign field values"),clearRecordContext:!0})}}),b.registerFlow({key:"apply",on:"click",steps:{apply:{defaultParams:function(e){return u(function(){return f(this,function(t){return[2,(0,r.getAssignFieldValuesDefaultParams)(e,d)]})})()},handler:function(e,t){return u(function(){var n,o,i,u,a,c,p,b,y,v,h,g,m,w,x,O,_,P,S,k,j;return f(this,function(f){switch(f.label){case 0:return c=(a=e.model.getStepParams(d,"confirm"))&&(void 0===a?"undefined":s(a))==="object"?a:{enable:!1},[4,e.runAction("confirm",c)];case 1:return f.sent(),[4,(0,r.resolveAssignFieldValues)(e,null==t?void 0:t.assignedValues,"BulkUpdateAction")];case 2:if(!(p=f.sent()))return[2];if(!p||(void 0===p?"undefined":s(p))!=="object"||!Object.keys(p).length)return e.message.warning(e.t("No assigned fields configured")),[2];if(!(b=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==(y=e.model.getStepParams(d,"updateMode")||{})?void 0:y.value)||"selected"))return[3,7];if(!(_=(null==(g=e.blockModel)||null==(h=g.resource)||null==(v=h.getSelectedRows)?void 0:v.call(h))||[]).length)return e.message.error(e.t("Please select the records to be updated")),[2];P=(null==(w=e.collection)||null==(m=w.getPrimaryKey)?void 0:m.call(w))||(null==(x=e.collection)?void 0:x.filterTargetKey)||"id",S={$and:[l({},(null==(O=e.collection)?void 0:O.filterTargetKey)||P||"id",{$in:_.map(function(t){return e.collection.getFilterByTK(t)}).filter(function(e){return null!=e})})]},e.model.setProps({loading:!0}),f.label=3;case 3:return f.trys.push([3,,5,6]),[4,e.api.resource(b,null,{"x-data-source":null==(k=e.collection)?void 0:k.dataSourceKey}).update({filter:S,values:p})];case 4:return f.sent(),[3,6];case 5:return e.model.setProps({loading:!1}),[7];case 6:return[3,11];case 7:e.model.setProps({loading:!0}),f.label=8;case 8:return f.trys.push([8,,10,11]),[4,e.api.resource(b,null,{"x-data-source":null==(j=e.collection)?void 0:j.dataSourceKey}).update({values:p,forceUpdate:!0})];case 9:return f.sent(),[3,11];case 10:return e.model.setProps({loading:!1}),[7];case 11:return null==(u=e.blockModel)||null==(i=u.resource)||null==(o=i.refresh)||o.call(i),e.message.success(e.t("Saved successfully")),[2]}})})()}}}})},485:function(t){t.exports=e},694:function(e){e.exports=t}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={exports:{}};return n[e](i,i.exports,o),i.exports}o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.g.importScripts&&(i=o.g.location+"");var i,u=o.g.document;if(!i&&u&&(u.currentScript&&"SCRIPT"===u.currentScript.tagName.toUpperCase()&&(i=u.currentScript.src),!i)){var l=u.getElementsByTagName("script");if(l.length)for(var a=l.length-1;a>-1&&(!i||!/^http(s?):/.test(i));)i=l[a--].src}if(!i)throw Error("Automatic publicPath is not supported in this browser");o.p=i.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/");var c={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src){var n=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");n.indexOf("/static/plugins/@nocobase/plugin-action-bulk-update/dist/client-v2/")>=0&&(e=n.replace(/\/[^\/]+$/,"/"))}if(!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-action-bulk-update/dist/client-v2/")}if(!e){var i=window.__nocobase_modern_client_prefix__||"v",u="/"+(i=String(i).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var l=window.location.pathname||"/",a=l.indexOf(u);e=a>=0?l.slice(0,a+1):"/"}e&&(e=e.replace(RegExp("/"+i+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-action-bulk-update/dist/client-v2/"}o.p=e}(),!function(){o.r(c),o.d(c,{BulkUpdateActionModel:function(){return t.BulkUpdateActionModel},PluginActionBulkUpdateClient:function(){return s}});var e=o(485),t=o(800);function n(e,t,n,r,o,i,u){try{var l=e[i](u),a=l.value}catch(e){n(e);return}l.done?t(a):Promise.resolve(a).then(r,o)}function r(e,t,n){return(r=a()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&u(o,n.prototype),o}).apply(null,arguments)}function i(e){return(i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t="function"==typeof Map?new Map:void 0;return(l=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 r(e,arguments,i(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),u(n,e)})(e)}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;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=i(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,a()?Reflect.construct(e,t||[],i(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&u(r,e),t=[{key:"load",value:function(){var e;return(e=function(){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:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(u,"next",{value:a(0)}),l(u,"throw",{value:a(1)}),l(u,"return",{value:a(2)}),"function"==typeof Symbol&&l(u,Symbol.iterator,{value:function(){return this}}),u;function a(l){return function(a){var c=[l,a];if(n)throw TypeError("Generator is already executing.");for(;u&&(u=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(e){return this.app.flowEngine.registerModelLoaders({BulkUpdateActionModel:{extends:"ActionModel",loader:function(){return Promise.resolve().then(o.bind(o,800))}}}),[2]})},function(){var t=this,r=arguments;return new Promise(function(o,i){var u=e.apply(t,r);function l(e){n(u,o,i,l,a,"next",e)}function a(e){n(u,o,i,l,a,"throw",e)}l(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,t),r}(l(e.Plugin));c.default=s}(),c}()});