@nocobase/plugin-departments 2.2.0-beta.1 → 2.2.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_departments_client_v2=self.webpackChunk_nocobase_plugin_departments_client_v2||[]).push([["32"],{3:function(e,t,n){n.r(t),n.d(t,{default:function(){return H}});var r=n(375),a=n(485),l=n(694),o=n(477),i=n(625),u=n(59),c=n(155),s=n.n(c);function d(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function m(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){d(l,r,a,o,i,"next",e)}function i(e){d(l,r,a,o,i,"throw",e)}o(void 0)})}}function f(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function p(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return 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}({title:e.title,parentId:null!=(t=e.parentId)?t:null,roles:(e.roleNames||[]).map(function(e){return{name:e}})},n?{owners:(e.ownerIds||[]).map(function(e){return{id:e}})}:{})}var h=n(488),b=n(836);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 v(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function g(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){v(l,r,a,o,i,"next",e)}function i(e){v(l,r,a,o,i,"throw",e)}o(void 0)})}}function w(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}function E(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||C(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function O(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||C(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function C(e,t){if(e){if("string"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(e,t)}}function j(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function D(){var e=x(["\n height: 100%;\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n "]);return D=function(){return e},e}function P(){var e=x(["\n flex: 0 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ","px;\n flex-wrap: wrap;\n margin-bottom: ","px;\n "]);return P=function(){return e},e}function I(){var e=x(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content,\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return I=function(){return e},e}function M(){var e=x(["\n height: ",";\n min-height: 0;\n overflow: hidden;\n > .ant-card-body {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n "]);return M=function(){return e},e}function A(){var e=x(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n .ant-table-content {\n flex: 1;\n min-height: 0;\n }\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return A=function(){return e},e}function R(){var e=x(["\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n overflow-x: hidden;\n .ant-tree-treenode {\n width: 100%;\n padding: 2px 0;\n }\n .ant-tree-switcher {\n line-height: 32px;\n }\n .ant-tree-switcher::before {\n height: 32px;\n }\n .ant-tree-node-content-wrapper {\n flex: 1;\n min-width: 0;\n height: 32px;\n line-height: 32px;\n overflow: hidden;\n padding-inline: 8px;\n }\n .ant-tree-title {\n display: block;\n }\n .ant-tree-node-selected {\n background-color: ",";\n }\n "]);return R=function(){return e},e}var T={paddingInline:0,height:"auto"};function F(){var e=u.theme.useToken().token,t=(0,c.useMemo)(function(){return(0,o.css)(D())},[]),n=(0,c.useMemo)(function(){return(0,o.css)(P(),e.marginSM,e.marginSM)},[e.marginSM]);return{contentClassName:t,tableClassName:(0,c.useMemo)(function(){return(0,o.css)(I())},[]),toolbarClassName:n}}function N(e,t,n){return e.resource(t,n)}function B(e){return e.resource("departments")}function z(e){return null==e?void 0:e.data}function q(e){var t,n,r=z(e),a=null!=(t=null!=(n=null==r?void 0:r.data)?n:null==r?void 0:r.rows)?t:r;return Array.isArray(a)?a:[]}function U(e){var t=z(e),n=null==t?void 0:t.meta;return n&&(void 0===n?"undefined":k(n))==="object"?n:t&&(void 0===t?"undefined":k(t))==="object"?t:{}}function _(e){return e.nickname||e.username||e.email||""}function L(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set;return e.map(function(e){var r;return{key:e.id,value:e.id,title:t(e),disabled:n.has(e.id),children:(null==(r=e.children)?void 0:r.length)?L(e.children,t,n):void 0}})}function K(e){var t=e.mode,n=e.request,r=e.mapOptions,a=function(e,t){if(null==e)return{};var n,r,a,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(a=0,n=Reflect.ownKeys(Object(e));a<n.length;a++)r=n[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,a={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n]);return a}(e,t),Object.getOwnPropertySymbols)for(a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)r=n[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}(e,["mode","request","mapOptions"]),l=(0,i.useRequest)(n);return s().createElement(u.Select,E(w({},a),{allowClear:!0,mode:t,loading:l.loading,options:(l.data||[]).map(r)}))}function G(e){var t,n,r,o,i,d=(0,h.k)(),y=(0,l.useFlowContext)(),v=S(u.Form.useForm(),1)[0],w=S((0,c.useState)(!1),2),E=w[0],x=w[1],O=(0,c.useMemo)(function(){return B(y.api)},[y.api]),k=(0,c.useMemo)(function(){return(0,b.RQ)(e.departments)},[e.departments]),C=(0,c.useMemo)(function(){return L(k,function(e){return e.title||""},function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;return t&&(n.add(t.id),(t.children||[]).forEach(function(t){return e(t,n)})),n}(e.record))},[k,e.record]),D=(0,c.useCallback)(function(){return g(function(){var t;return j(this,function(n){var r,a,l;switch(n.label){case 0:return[4,v.validateFields()];case 1:t=n.sent(),x(!0),n.label=2;case 2:if(n.trys.push([2,,7,8]),"create"!==e.mode)return[3,4];return[4,(r=t,m(function(){return f(this,function(e){switch(e.label){case 0:return[4,O.create({values:p(r)})];case 1:return e.sent(),[2]}})})())];case 3:case 5:return n.sent(),e.onSubmitted(),[2];case 4:if(!e.record)return[3,6];return[4,(a=e.record,l=t,m(function(){return f(this,function(e){switch(e.label){case 0:if(null==a.id)throw Error("Edit mode requires department.id");return[4,O.update({filterByTk:a.id,values:p(l,!0)})];case 1:return e.sent(),[2]}})})())];case 6:throw Error("Edit mode requires a department record");case 7:return x(!1),[7];case 8:return[2]}})})()},[v,e,O]);return s().createElement(a.DrawerFormLayout,{title:"create"===e.mode?d("New department"):d("Edit department"),onSubmit:D,submitting:E,submitText:d("Submit"),cancelText:d("Cancel")},s().createElement(u.Form,{form:v,layout:"vertical",initialValues:{title:null==(o=e.record)?void 0:o.title,parentId:null!=(r=null==(i=e.record)?void 0:i.parentId)?r:null,roleNames:((null==(t=e.record)?void 0:t.roles)||[]).map(function(e){return e.name}),ownerIds:((null==(n=e.record)?void 0:n.owners)||[]).map(function(e){return e.id})}},s().createElement(u.Form.Item,{name:"title",label:d("Department name"),rules:[{required:!0,message:d("Required")}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"parentId",label:d("Superior department")},s().createElement(u.TreeSelect,{allowClear:!0,treeDefaultExpandAll:!0,treeData:C})),s().createElement(u.Form.Item,{name:"roleNames",label:d("Roles")},s().createElement(K,{mode:"multiple",request:function(){return g(function(){return j(this,function(e){switch(e.label){case 0:return[4,N(y.api,"roles").list({paginate:!1})];case 1:return[2,q(e.sent())]}})})()},mapOptions:function(e){return{label:e.title?d(e.title,{ns:["@nocobase/plugin-acl","acl","client"],nsMode:"fallback"}):e.name,value:e.name}}})),"edit"===e.mode?s().createElement(u.Form.Item,{name:"ownerIds",label:d("Owners")},s().createElement(K,{mode:"multiple",request:function(){return g(function(){var t;return j(this,function(n){switch(n.label){case 0:return[4,N(y.api,"departments/".concat(null==(t=e.record)?void 0:t.id,"/members")).list({disableDefaultAppends:!0,paginate:!1})];case 1:return[2,q(n.sent())]}})})()},mapOptions:function(e){return{label:_(e),value:e.id}}})):null))}function Z(e){var t,n,o,d=(0,h.k)(),m=(0,l.useFlowContext)(),f=F(),p=f.contentClassName,b=f.tableClassName,y=f.toolbarClassName,v=null==(n=m.dataSourceManager)||null==(t=n.getDataSource("main"))?void 0:t.getCollection("users"),w=S((0,c.useState)([]),2),E=w[0],x=w[1],O=S((0,c.useState)(),2),k=O[0],C=O[1],D=S((0,c.useState)(1),2),P=D[0],I=D[1],M=S((0,c.useState)(20),2),A=M[0],R=M[1],T=S((0,c.useState)(!1),2),B=T[0],z=T[1],L=(0,i.useRequest)(function(){return g(function(){var t;return j(this,function(n){switch(n.label){case 0:return[4,N(m.api,"users").listExcludeDept({departmentId:e.department.id,filter:k,page:P,pageSize:A})];case 1:return[2,{data:q(t=n.sent()),meta:U(t)}]}})})()},{refreshDeps:[k,P,A,e.department.id]}),K=(0,c.useCallback)(function(){return g(function(){return j(this,function(t){switch(t.label){case 0:if(!E.length)return[2];z(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,N(m.api,"departments.members",e.department.id).add({values:E})];case 2:return t.sent(),e.onSubmitted(),[3,4];case 3:return z(!1),[7];case 4:return[2]}})})()},[m.api,e,E]),G=(0,c.useMemo)(function(){return[{title:d("Nickname"),render:function(e,t){return _(t)}},{title:d("Username"),dataIndex:"username"},{title:d("Phone"),dataIndex:"phone"},{title:d("Email"),dataIndex:"email"}]},[d]),Z=L.data,W=(null==Z?void 0:Z.data)||[],Q=null==Z||null==(o=Z.meta)?void 0:o.count;return s().createElement(a.DrawerFormLayout,{title:d("Add members"),onSubmit:K,submitting:B,submitText:d("Submit"),cancelText:d("Cancel")},s().createElement("div",{className:p},s().createElement("div",{className:y},s().createElement(u.Space,{wrap:!0},s().createElement(a.CollectionFilter,{collection:v,t:d,onChange:function(e){x([]),I(1),C(e)}})),s().createElement(u.Space,{wrap:!0},s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return L.refresh()}},d("Refresh")))),s().createElement(a.Table,{rowKey:"id",showIndex:!1,loading:L.loading,dataSource:W,columns:G,pagination:{current:P,pageSize:A,total:null!=Q?Q:0,showSizeChanger:!0,onChange:function(e,t){I(e),R(t)}},rowSelection:{preserveSelectedRowKeys:!0,selectedRowKeys:E,onChange:x},scroll:{x:"max-content",y:"100%"},className:b})))}function W(e){var t,n,o=(0,h.k)(),d=(0,l.useFlowContext)(),m=F(),f=m.contentClassName,p=m.tableClassName,y=m.toolbarClassName,v=null==(n=d.dataSourceManager)||null==(t=n.getDataSource("main"))?void 0:t.getCollection("departments"),x=S((0,c.useState)([]),2),O=x[0],k=x[1],C=S((0,c.useState)([]),2),D=C[0],P=C[1],I=S((0,c.useState)(),2),M=I[0],A=I[1],R=S((0,c.useState)(!1),2),T=R[0],B=R[1],z=(0,i.useRequest)(function(){return g(function(){return j(this,function(t){switch(t.label){case 0:if(!M)return[2,(0,b.RQ)(e.departments)];return[4,N(d.api,"departments").list({appends:["parent(recursively=true)"],filter:M,paginate:!1,sort:["sort"]})];case 1:return[2,q(t.sent()).map(function(e){return E(w({},e),{title:(0,b.nZ)(e)})})]}})})()},{refreshDeps:[M,e.departments]}),U=(0,c.useMemo)(function(){return[{title:o("Department name"),render:function(e,t){return(0,b.nZ)(t)||t.title}}]},[o]),_=(0,c.useCallback)(function(){return g(function(){return j(this,function(t){switch(t.label){case 0:B(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,e.onSubmitted(D)];case 2:return t.sent(),[3,4];case 3:return B(!1),[7];case 4:return[2]}})})()},[e,D]);return s().createElement(a.DrawerFormLayout,{title:o("Select Departments"),onSubmit:_,submitting:T,submitText:o("Submit"),cancelText:o("Cancel")},s().createElement("div",{className:f},s().createElement("div",{className:y},s().createElement(u.Space,{wrap:!0},s().createElement(a.CollectionFilter,{collection:v,t:o,onChange:A})),s().createElement(u.Space,{wrap:!0},s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return z.refresh()}},o("Refresh")))),s().createElement(a.Table,{rowKey:"id",showIndex:!1,loading:z.loading,columns:U,dataSource:z.data||[],expandable:M?void 0:{defaultExpandAllRows:!1},pagination:!M&&{pageSize:10,showSizeChanger:!0},rowSelection:{selectedRowKeys:O,onChange:function(e,t){k(e),P(t)},getCheckboxProps:function(t){return{disabled:e.disabledIds.has(t.id)}}},scroll:{x:"max-content",y:"100%"},className:p})))}function Q(e){var t=(0,h.k)(),n=(0,l.useFlowContext)(),o=u.App.useApp(),d=o.modal,m=o.message,f=S((0,c.useState)(e.user.mainDepartmentId),2),p=f[0],y=f[1],v=(0,i.useRequest)(function(){return g(function(){return j(this,function(t){switch(t.label){case 0:return[4,N(n.api,"users.departments",e.user.id).list({appends:["parent(recursively=true)"],paginate:!1})];case 1:return[2,q(t.sent()).map(function(e){return E(w({},e),{title:(0,b.nZ)(e)})})]}})})()},{refreshDeps:[e.user.id]}),x=(0,c.useMemo)(function(){return v.data||[]},[v.data]),k=(0,c.useMemo)(function(){return new Set(x.map(function(e){return e.id}))},[x]),C=(0,c.useCallback)(function(t){return g(function(){var r;return j(this,function(a){switch(a.label){case 0:if(!(r=t.map(function(e){return e.id}).filter(function(e){return!k.has(e)})).length)return[2];return[4,N(n.api,"users.departments",e.user.id).add({values:r})];case 1:return a.sent(),0===x.length&&y(r[0]),v.refresh(),e.onSubmitted(),[2]}})})()},[n.api,k,x.length,e,v]),D=(0,c.useCallback)(function(){n.viewer.drawer({closable:!0,width:"50%",styles:{body:{display:"flex",flexDirection:"column",overflow:"hidden"}},content:function(){return s().createElement(W,{departments:e.departments,disabledIds:k,onSubmitted:C})}})},[C,n.viewer,k,e.departments]),P=(0,c.useCallback)(function(){return g(function(){return j(this,function(e){return!x.length,[2]})})()},[x.length]),I=(0,c.useCallback)(function(r){d.confirm({title:t("Remove department"),content:t("Are you sure you want to remove it?"),onOk:function(){return g(function(){var a,l;return j(this,function(o){switch(o.label){case 0:return[4,N(n.api,"users.departments",e.user.id).remove({values:[r.id]})];case 1:return o.sent(),p===r.id&&y(null!=(a=null==(l=x.find(function(e){return e.id!==r.id}))?void 0:l.id)?a:null),m.success(t("Deleted successfully")),v.refresh(),e.onSubmitted(),[2]}})})()}})},[n.api,x,p,m,d,e,t,v]),M=(0,c.useCallback)(function(r){return g(function(){return j(this,function(a){switch(a.label){case 0:return[4,N(n.api,"users").update({filterByTk:e.user.id,values:{mainDepartmentId:r.id}})];case 1:return a.sent(),y(r.id),m.success(t("Set successfully")),e.onSubmitted(),v.refresh(),[2]}})})()},[n.api,m,e,t,v]);return s().createElement(a.DrawerFormLayout,{title:t("Departments"),onSubmit:P,submitText:t("Submit"),cancelText:t("Cancel")},s().createElement(u.Space,{direction:"vertical"},s().createElement(u.Space,{wrap:!0},x.map(function(e){return s().createElement(u.Tag,{key:e.id},s().createElement(u.Space,null,s().createElement("span",null,e.title),e.id===p?s().createElement(u.Tag,{color:"processing"},t("Main")):null,s().createElement(u.Dropdown,{menu:{items:O(e.id===p?[]:[{key:"setMain",label:t("Set as main department")}]).concat([{key:"remove",label:t("Remove")}]),onClick:function(t){var n=t.key;"setMain"===n?M(e):"remove"===n&&I(e)}}},s().createElement(u.Button,{type:"text",size:"small",title:t("Actions"),icon:s().createElement(r.MoreOutlined,null)}))))})),s().createElement(u.Button,{icon:s().createElement(r.PlusOutlined,null),title:t("Add departments"),"aria-label":t("Add departments"),onClick:D})))}var H=function(){var e,t,n,d=(0,h.k)(),p=(0,l.useFlowContext)(),y=u.App.useApp(),v=y.modal,x=y.message,k=u.theme.useToken().token,C=null==(t=p.dataSourceManager)||null==(e=t.getDataSource("main"))?void 0:e.getCollection("users"),D=S((0,c.useState)(null),2),P=D[0],I=D[1],F=S((0,c.useState)(null),2),K=F[0],W=F[1],H=S((0,c.useState)([]),2),$=H[0],V=H[1],J=S((0,c.useState)([]),2),X=J[0],Y=J[1],ee=S((0,c.useState)(!1),2),et=ee[0],en=ee[1],er=S((0,c.useState)(""),2),ea=er[0],el=er[1],eo=S((0,c.useState)({users:[],departments:[],moreUsers:!0,moreDepartments:!0}),2),ei=eo[0],eu=eo[1],ec=S((0,c.useState)(),2),es=ec[0],ed=ec[1],em=S((0,c.useState)(1),2),ef=em[0],ep=em[1],eh=S((0,c.useState)(20),2),eb=eh[0],ey=eh[1],ev=(0,i.useRequest)(function(){return g(function(){return j(this,function(e){switch(e.label){case 0:return[4,N(p.api,"departments").list({paginate:!1,sort:["sort"],appends:["parent(recursively=true)","roles","owners"]})];case 1:return[2,q(e.sent())]}})})()}),eg=(0,c.useMemo)(function(){return ev.data||[]},[ev.data]),ew=(0,c.useMemo)(function(){return(0,b.RQ)(eg)},[eg]),eE=(0,i.useRequest)(function(){return g(function(){var e;return j(this,function(t){switch(t.label){case 0:if(K)return[2,{data:[K],meta:{}}];return[4,N(p.api,"users").list({appends:["departments","departments.parent(recursively=true)"],filter:function(e,t){var n=[];if(e&&n.push({"departments.id":e.id}),t&&n.push(t),0!==n.length)return 1===n.length?n[0]:{$and:n}}(P,es),page:ef,pageSize:eb})];case 1:return[2,{data:q(e=t.sent()),meta:U(e)}]}})})()},{refreshDeps:[es,ef,eb,null==P?void 0:P.id,null==K?void 0:K.id],onSuccess:function(){return Y([])}});(0,c.useEffect)(function(){ep(1)},[es,null==P?void 0:P.id,null==K?void 0:K.id]);var eS=(0,i.useRequest)(function(e){return g(function(){var t;return j(this,function(n){switch(n.label){case 0:return[4,N(p.api,"departments").aggregateSearch({values:E(w({},e),{limit:10})})];case 1:return[2,(null==(t=z(n.sent()))?void 0:t.data)||{users:[],departments:[]}]}})})()},{manual:!0,onSuccess:function(e,t){var n=t[0],r=e.users||[],a=e.departments||[];eu(function(e){return{users:"department"===n.type?e.users:n.last?O(e.users).concat(O(r)):r,departments:"user"===n.type?e.departments:n.last?O(e.departments).concat(O(a)):a,moreUsers:n.type&&"user"!==n.type?e.moreUsers:r.length>=10,moreDepartments:n.type&&"department"!==n.type?e.moreDepartments:a.length>=10}})}}),ex=(0,c.useCallback)(function(){ev.refresh(),eE.refresh()},[ev,eE]),eO=(0,c.useCallback)(function(e,t){p.viewer.drawer({closable:!0,width:"50%",content:function(){return s().createElement(G,{mode:e,record:t,departments:eg,onSubmitted:function(){return ex()}})}})},[p.viewer,eg,ex]),ek=(0,c.useCallback)(function(){P&&p.viewer.drawer({closable:!0,width:"50%",styles:{body:{display:"flex",flexDirection:"column",overflow:"hidden"}},content:function(){return s().createElement(Z,{department:P,onSubmitted:function(){return eE.refresh()}})}})},[p.viewer,eE,P]),eC=(0,c.useCallback)(function(e){p.viewer.drawer({closable:!0,width:"50%",content:function(){return s().createElement(Q,{user:e,departments:eg,onSubmitted:function(){return eE.refresh()}})}})},[p.viewer,eg,eE]),ej=(0,c.useCallback)(function(e){v.confirm({title:d("Delete department"),content:d("Are you sure you want to delete it?"),onOk:function(){return g(function(){return j(this,function(t){switch(t.label){case 0:var n;return[4,(n=B(p.api),m(function(){return f(this,function(t){switch(t.label){case 0:if(null==e.id)throw Error("Delete mode requires department.id");return[4,n.destroy({filterByTk:e.id})];case 1:return t.sent(),[2]}})})())];case 1:return t.sent(),x.success(d("Deleted successfully")),I(function(t){return(null==t?void 0:t.id)===e.id?null:t}),ex(),[2]}})})()}})},[p.api,x,v,ex,d]),eD=(0,c.useCallback)(function(e){P&&e.length&&v.confirm({title:d("Remove members"),content:d("Are you sure you want to remove these members?"),onOk:function(){return g(function(){return j(this,function(t){switch(t.label){case 0:return[4,N(p.api,"departments.members",P.id).remove({values:e})];case 1:return t.sent(),Y([]),eE.refresh(),[2]}})})()}})},[p.api,eE,v,P,d]),eP=(0,c.useMemo)(function(){return[{title:d("Nickname"),width:160,render:function(e,t){return _(t)}},{title:d("Username"),dataIndex:"username",width:160},{title:d("Departments"),width:260,render:function(e){return s().createElement(s().Fragment,null,(e.departments||[]).map(function(e,t){return s().createElement(s().Fragment,{key:e.id},t>0?", ":null,s().createElement("a",{onClick:function(){I(e),W(null)}},(0,b.nZ)(e)))}))}}].concat(O(P?[{title:d("Owner"),align:"center",width:96,render:function(e){var t;return(null==(t=e.departments)?void 0:t.some(function(e){var t;return e.id===P.id&&(null==(t=e.departmentsUsers)?void 0:t.isOwner)}))?s().createElement(r.CheckOutlined,{"aria-label":d("Owner"),style:{color:"#52c41a"}}):s().createElement(u.Checkbox,{disabled:!0,"aria-label":d("Owner")})}}]:[]),[{title:d("Phone"),dataIndex:"phone",width:140},{title:d("Email"),dataIndex:"email",width:220},{title:d("Actions"),width:120,render:function(e){return s().createElement(u.Space,null,s().createElement(u.Button,{type:"link",size:"small",style:T,onClick:function(){return eC(e)}},d("Configure")),P?s().createElement(u.Button,{type:"link",size:"small",style:T,onClick:function(){return eD([e.id])}},d("Remove")):null)}}])},[eC,eD,P,d]),eI=(0,c.useCallback)(function(e){return s().createElement(u.Flex,{align:"center",justify:"space-between",gap:8,style:{width:"100%",minWidth:0}},s().createElement(u.Flex,{align:"center",gap:8,style:{flex:"1 1 0",minWidth:0,overflow:"hidden"}},s().createElement(r.ApartmentOutlined,{style:{flex:"0 0 auto"}}),s().createElement("span",{title:e.title,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e.title)),s().createElement(u.Dropdown,{menu:{items:[{key:"new-sub",label:d("New sub department"),icon:s().createElement(r.PlusOutlined,null)},{key:"edit",label:d("Edit department"),icon:s().createElement(r.EditOutlined,null)},{key:"delete",label:d("Delete department"),icon:s().createElement(r.DeleteOutlined,null)}],onClick:function(t){var n=t.key;t.domEvent.stopPropagation(),"new-sub"===n?eO("create",{id:0,parentId:e.id,parent:e}):"edit"===n?eO("edit",e):"delete"===n&&ej(e)}}},s().createElement(u.Button,{type:"text",size:"small",title:d("Actions"),icon:s().createElement(r.MoreOutlined,null),style:{flex:"0 0 auto"},onClick:function(e){return e.stopPropagation()}})))},[ej,eO,d]),eM=(0,c.useMemo)(function(){var e=ei.users,t=ei.departments;return e.length||t.length?O(e.length?[{key:"users",type:"group",label:d("Users"),children:O(e.map(function(e){var t=[e.username,e.phone,e.email].filter(Boolean).join(" | ");return{key:"user-".concat(e.id),label:s().createElement("div",null,s().createElement("div",null,_(e)),t?s().createElement("div",{style:{fontSize:k.fontSizeSM,color:k.colorTextDescription}},t):null),onClick:function(){W(e),I(null),en(!1)}}})).concat(O(ei.moreUsers?[{key:"user-load-more",disabled:eS.loading,label:s().createElement(u.Button,{type:"link",size:"small",loading:eS.loading,onClick:function(t){t.stopPropagation();var n=e[e.length-1];n&&eS.run({keyword:ea,type:"user",last:n.id})}},d("Load more"))}]:[]))}]:[]).concat(O(t.length?[{key:"departments",type:"group",label:d("Departments"),children:O(t.map(function(e){return{key:"department-".concat(e.id),label:(0,b.nZ)(e),onClick:function(){I(e),W(null),en(!1)}}})).concat(O(ei.moreDepartments?[{key:"department-load-more",disabled:eS.loading,label:s().createElement(u.Button,{type:"link",size:"small",loading:eS.loading,onClick:function(e){e.stopPropagation();var n=t[t.length-1];n&&eS.run({keyword:ea,type:"department",last:n.id})}},d("Load more"))}]:[]))}]:[])):[{key:"empty",disabled:!0,label:s().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE})}]},[ea,eS,ei.departments,ei.moreDepartments,ei.moreUsers,ei.users,d,k.colorTextDescription,k.fontSizeSM]),eA=(0,c.useMemo)(function(){return L(ew,eI)},[ew,eI]),eR=(0,c.useMemo)(function(){return(0,o.css)(M(),"100%")},[]),eT=(0,c.useMemo)(function(){return(0,o.css)(A())},[]),eF=(0,c.useMemo)(function(){return(0,o.css)(R(),k.colorPrimaryBg)},[k.colorPrimaryBg]),eN=eE.data,eB=(null==eN?void 0:eN.data)||[],ez=null==eN||null==(n=eN.meta)?void 0:n.count;return s().createElement(u.Card,{className:eR},s().createElement(u.Flex,{gap:k.marginLG,align:"stretch",style:{flex:1,minHeight:0,overflow:"hidden"}},s().createElement(u.Flex,{vertical:!0,gap:k.marginSM,style:{width:280,flex:"0 0 ".concat(280,"px"),minHeight:0,overflow:"hidden"}},s().createElement(u.Dropdown,{trigger:["click"],open:et,onOpenChange:en,menu:{items:eM}},s().createElement(u.Input.Search,{allowClear:!0,value:ea,placeholder:d("Search for departments, users"),onChange:function(e){el(e.target.value),e.target.value||(W(null),en(!1),eu({users:[],departments:[],moreUsers:!0,moreDepartments:!0}))},onSearch:function(e){e&&(eu({users:[],departments:[],moreUsers:!0,moreDepartments:!0}),en(!0),eS.run({keyword:e}))}})),s().createElement(u.Button,{block:!0,icon:s().createElement(r.UserOutlined,null),type:"text",style:{textAlign:"center",justifyContent:"center",background:P||K?void 0:k.colorPrimaryBg},onClick:function(){I(null),W(null)}},d("All users")),s().createElement(u.Button,{block:!0,icon:s().createElement(r.PlusOutlined,null),onClick:function(){return eO("create")}},d("New department")),s().createElement("div",{className:eF},eA.length?s().createElement(u.Tree.DirectoryTree,{blockNode:!0,showIcon:!1,expandAction:!1,treeData:eA,selectedKeys:P?[P.id]:[],expandedKeys:$,onExpand:function(e){return V(O(e))},onSelect:function(e){I(function e(t,n){if(null==n)return null;var r=!0,a=!1,l=void 0;try{for(var o,i=t[Symbol.iterator]();!(r=(o=i.next()).done);r=!0){var u=o.value;if(u.id===n)return u;var c=e(u.children||[],n);if(c)return c}}catch(e){a=!0,l=e}finally{try{r||null==i.return||i.return()}finally{if(a)throw l}}return null}(ew,e[0])),W(null)}}):s().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE}))),s().createElement(u.Flex,{vertical:!0,flex:1,gap:k.marginSM,style:{borderInlineStart:"".concat(k.lineWidth,"px ").concat(k.lineType," ").concat(k.colorSplit),paddingInlineStart:k.paddingLG,minWidth:0,minHeight:0,overflow:"hidden"}},s().createElement(u.Flex,{vertical:!0,gap:k.marginSM,style:{flex:"0 0 auto"}},s().createElement(u.Typography.Title,{level:4,style:{margin:0}},K?d("Search results"):d((null==P?void 0:P.title)||"All users")),s().createElement(u.Flex,{justify:"space-between",align:"center",wrap:"wrap",gap:k.marginSM},s().createElement(u.Space,{wrap:!0},s().createElement(a.CollectionFilter,{collection:C,t:d,onChange:function(e){ep(1),ed(e)}})),s().createElement(u.Space,{wrap:!0},s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return eE.refresh()}},d("Refresh")),P?s().createElement(s().Fragment,null,s().createElement(u.Button,{icon:s().createElement(r.UserDeleteOutlined,null),disabled:!X.length,onClick:function(){return eD(X)}},d("Remove")),s().createElement(u.Button,{type:"primary",icon:s().createElement(r.UserAddOutlined,null),onClick:ek},d("Add members"))):null))),s().createElement(a.Table,{rowKey:"id",showIndex:!1,className:eT,loading:eE.loading,dataSource:eB,columns:eP,scroll:{x:"max-content",y:"100%"},rowSelection:P?{selectedRowKeys:X,onChange:Y}:void 0,pagination:!!ez&&{current:ef,pageSize:eb,total:ez,showTotal:function(e){return d("Total {{count}} members",{count:e})},onChange:function(e,t){ep(e),ey(t)}}}))))}},488:function(e,t,n){n.d(t,{k:function(){return a}});var r=n(694);function a(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(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}({ns:["@nocobase/plugin-departments","departments","client"],nsMode:"fallback"},n))}}},836:function(e,t,n){function r(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}function a(e){var t=new Map,n=[];return e.forEach(function(e){var n,a;t.set(e.id,(n=r({},e),a=a={children:[]},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(a)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(a)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(a,e))}),n))}),t.forEach(function(e){if(null!=e.parentId&&t.has(e.parentId)){var r,a=t.get(e.parentId);(null==a?void 0:a.isLeaf)!==!0&&(null==a||null==(r=a.children)||r.push(e));return}n.push(e)}),t.forEach(function(e){var t;(null==(t=e.children)?void 0:t.length)||delete e.children}),n}n.d(t,{RQ:function(){return a},W6:function(){return function e(t){return t.map(function(t){var n,a=r({},t);return(null==(n=t.children)?void 0:n.length)?a.children=e(t.children):!1===t.isLeaf?a.children=[]:delete a.children,a})}},nZ:function(){return function e(t){if(!t)return"";var n=t.title||"";return t.parent?"".concat(e(t.parent)," / ").concat(n):n}}})}}]);
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
"use strict";(self.webpackChunk_nocobase_plugin_departments_client_v2=self.webpackChunk_nocobase_plugin_departments_client_v2||[]).push([["936"],{403:function(e,n,t){t.r(n),t.d(n,{default:function(){return I}});var r=t(375),a=t(477),o=t(485),l=t(694),i=t(625),u=t(59),c=t(155),s=t.n(c),f=t(488),d=t(836);function p(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function m(e,n,t,r,a,o,l){try{var i=e[o](l),u=i.value}catch(e){t(e);return}i.done?n(u):Promise.resolve(u).then(r,a)}function h(e){return function(){var n=this,t=arguments;return new Promise(function(r,a){var o=e.apply(n,t);function l(e){m(o,r,a,l,i,"next",e)}function i(e){m(o,r,a,l,i,"throw",e)}l(void 0)})}}function b(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r;r=t[n],n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}function y(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):(function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n})(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function g(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,i=!1;try{for(a=a.call(e);!(l=(t=a.next()).done)&&(o.push(t.value),!n||o.length!==n);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(i)throw r}}return o}}(e,n)||O(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}function w(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||O(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function O(e,n){if(e){if("string"==typeof e)return p(e,n);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 p(e,n)}}function x(e,n){var t,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(t)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(t=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=n.call(e,o)}catch(e){c=[6,e],r=0}finally{t=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function E(){var e=v(["\n height: 100%;\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n "]);return E=function(){return e},e}function j(){var e=v(["\n flex: 0 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ","px;\n flex-wrap: wrap;\n margin-bottom: ","px;\n "]);return j=function(){return e},e}function C(){var e=v(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content,\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return C=function(){return e},e}function k(){var e=v(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return k=function(){return e},e}var P={paddingInline:0,height:"auto"};function D(e){var n,t,r,a,o,l,i,u,c,s,f,d,p=(n=null==e?void 0:e.data)&&(void 0===n?"undefined":S(n))==="object"?n:{};return{data:null!=(t=null!=(r=p.data)?r:p.rows)?t:[],page:null!=(a=null==(c=p.meta)?void 0:c.page)?a:p.page,pageSize:null!=(o=null==(s=p.meta)?void 0:s.pageSize)?o:p.pageSize,total:null!=(l=null!=(i=null!=(u=null==(f=p.meta)?void 0:f.total)?u:null==(d=p.meta)?void 0:d.count)?i:p.total)?l:p.count}}function R(e){var n,t,p,m,v,O,k,P,R,I,A,M=(0,l.useFlowContext)(),z=(0,l.useFlowView)(),N=(0,f.k)(),_=(n=u.theme.useToken().token,t=(0,c.useMemo)(function(){return(0,a.css)(E())},[]),p=(0,c.useMemo)(function(){return(0,a.css)(j(),n.marginSM,n.marginSM)},[n.marginSM]),{contentClassName:t,tableClassName:(0,c.useMemo)(function(){return(0,a.css)(C())},[]),toolbarClassName:p}),T=_.contentClassName,B=_.tableClassName,F=_.toolbarClassName,K=g((0,c.useState)([]),2),L=K[0],H=K[1],W=g((0,c.useState)(),2),Z=W[0],q=W[1],G=g((0,c.useState)(1),2),Q=G[0],U=G[1],V=g((0,c.useState)(20),2),$=V[0],J=V[1],X=g((0,c.useState)(!1),2),Y=X[0],ee=X[1],en=g((0,c.useState)([]),2),et=en[0],er=en[1],ea=g((0,c.useState)([]),2),eo=ea[0],el=ea[1],ei=(0,c.useRef)(new Set),eu=null==(k=M.dataSourceManager)||null==(O=k.getDataSource("main"))?void 0:O.getCollection("departments"),ec=!!(Z&&(void 0===Z?"undefined":S(Z))==="object"&&Object.keys(Z).length>0),es=(0,i.useRequest)(function(){return h(function(){return x(this,function(e){switch(e.label){case 0:return[4,M.api.resource("departments").list({appends:["parent(recursively=true)","roles"],filter:ec?Z:{parentId:null},page:Q,pageSize:$,sort:["sort"]})];case 1:return[2,D(e.sent())]}})})()},{refreshDeps:[Z,ec,Q,$],onSuccess:function(e){ec||(er((0,d.W6)(e.data)),el([]))}}),ef=(0,c.useCallback)(function(e){return h(function(){var n,t,r;return x(this,function(a){switch(a.label){case 0:if(e.isLeaf||(null==(n=e.children)?void 0:n.length)||ei.current.has(e.id))return[2];ei.current.add(e.id),a.label=1;case 1:return a.trys.push([1,,3,4]),[4,M.api.resource("departments").list({appends:["parent(recursively=true)","roles"],filter:{parentId:e.id},paginate:!1,sort:["sort"]})];case 2:return t=a.sent(),r=(0,d.W6)(D(t).data),er(function(n){return function e(n,t,r){return n.map(function(n){var a;if(n.id===t){var o=y(b({},n),{isLeaf:!r.length});return r.length?o.children=r:delete o.children,o}return(null==(a=n.children)?void 0:a.length)?y(b({},n),{children:e(n.children,t,r)}):n})}(n,e.id,r)}),[3,4];case 3:return ei.current.delete(e.id),[7];case 4:return[2]}})})()},[M.api]),ed=(0,c.useCallback)(function(){return h(function(){return x(this,function(n){switch(n.label){case 0:if(!L.length)return[2];ee(!0),n.label=1;case 1:return n.trys.push([1,,5,6]),[4,M.api.resource("roles.departments",e.roleName).add({values:L})];case 2:return n.sent(),M.message.success(N("Saved successfully")),[4,e.onSubmitted()];case 3:return n.sent(),[4,z.close()];case 4:return n.sent(),[3,6];case 5:return ee(!1),[7];case 6:return[2]}})})()},[M.api,M.message,e,L,N,z]),ep=(0,c.useCallback)(function(){return h(function(){return x(this,function(e){switch(e.label){case 0:return[4,z.close()];case 1:return e.sent(),[2]}})})()},[z]);return s().createElement("div",{style:{flex:1,height:"100%",minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"}},z.Header?s().createElement(z.Header,{title:N("Add departments")}):null,s().createElement("div",{className:T},s().createElement("div",{className:F},s().createElement(u.Space,{wrap:!0},s().createElement(o.CollectionFilter,{collection:eu,t:N,onChange:function(e){H([]),el([]),U(1),q(e)}})),s().createElement(u.Space,{wrap:!0},s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return es.refresh()}},N("Refresh")))),s().createElement(o.Table,{rowKey:"id",showIndex:!1,loading:es.loading,dataSource:ec?(null==(P=es.data)?void 0:P.data)||[]:et,columns:[{title:N("Department name"),render:function(e,n){return ec?(0,d.nZ)(n):n.title}}],expandable:ec?void 0:{defaultExpandAllRows:!1,expandedRowKeys:eo,rowExpandable:function(e){var n;return!1===e.isLeaf||!!(null==(n=e.children)?void 0:n.length)},onExpand:function(e,n){e&&ef(n)},onExpandedRowsChange:function(e){return el(w(e))}},pagination:{current:null!=(m=null==(R=es.data)?void 0:R.page)?m:Q,pageSize:null!=(v=null==(I=es.data)?void 0:I.pageSize)?v:$,total:null==(A=es.data)?void 0:A.total,showSizeChanger:!0,onChange:function(e,n){U(e),J(n)}},rowSelection:{preserveSelectedRowKeys:!0,selectedRowKeys:L,onChange:H,getCheckboxProps:function(n){var t;return{disabled:null==(t=n.roles)?void 0:t.some(function(n){return n.name===e.roleName})}}},locale:{emptyText:s().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE})},scroll:{x:"max-content",y:"100%"},className:B})),z.Footer?s().createElement(z.Footer,null,s().createElement(u.Space,null,s().createElement(u.Button,{onClick:ep},N("Cancel")),s().createElement(u.Button,{type:"primary",loading:Y,disabled:!L.length,onClick:ed},N("Submit")))):null)}function I(e){var n,t,p,m,b,y,v,S,O=(0,l.useFlowContext)(),E=(0,f.k)(),j=u.theme.useToken().token,C=e.role,I=null==(m=O.dataSourceManager)||null==(p=m.getDataSource("main"))?void 0:p.getCollection("departments"),A=g((0,c.useState)([]),2),M=A[0],z=A[1],N=g((0,c.useState)(),2),_=N[0],T=N[1],B=g((0,c.useState)(1),2),F=B[0],K=B[1],L=g((0,c.useState)(20),2),H=L[0],W=L[1],Z=(0,c.useMemo)(function(){return(0,a.css)(k())},[]),q=(0,i.useRequest)(function(){return h(function(){return x(this,function(e){switch(e.label){case 0:if(!C)return[2,{data:[],page:F,pageSize:H,total:0}];return[4,O.api.resource("roles/".concat(C.name,"/departments")).list({appends:["parent(recursively=true)"],filter:_,page:F,pageSize:H})];case 1:return[2,D(e.sent())]}})})()},{ready:!!C,refreshDeps:[_,F,H,null==C?void 0:C.name],onSuccess:function(){return z([])}}),G=(0,c.useCallback)(function(){return h(function(){return x(this,function(e){switch(e.label){case 0:return[4,q.refreshAsync()];case 1:return e.sent(),[2]}})})()},[q]),Q=(0,c.useCallback)(function(e){return h(function(){return x(this,function(n){switch(n.label){case 0:if(!C||!e.length)return[2];return[4,O.api.resource("roles/".concat(C.name,"/departments")).remove({values:e})];case 1:return n.sent(),O.message.success(E("Removed successfully")),z([]),[4,G()];case 2:return n.sent(),[2]}})})()},[O.api,O.message,G,C,E]),U=(0,c.useCallback)(function(){C&&O.viewer.drawer({closable:!0,width:"50%",styles:{body:{display:"flex",flexDirection:"column",overflow:"hidden"}},content:function(){return s().createElement(R,{roleName:C.name,onSubmitted:G})}})},[O.viewer,G,C]),V=(0,c.useMemo)(function(){return w([{title:E("Department name"),render:function(e,n){return(0,d.nZ)(n)||n.title}}]).concat([{title:E("Actions"),width:120,render:function(e,n){return s().createElement(u.Popconfirm,{title:E("Remove department"),description:E("Are you sure you want to remove it?"),onConfirm:function(){return Q([n.id])}},s().createElement(u.Button,{type:"link",size:"small",style:P},E("Remove")))}}])},[Q,E]);return C?s().createElement("div",{style:{height:"100%",minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"}},s().createElement("div",{style:{flex:"0 0 auto",display:"flex",justifyContent:"space-between",alignItems:"center",gap:j.marginSM,flexWrap:"wrap",marginBottom:j.marginSM}},s().createElement(u.Space,{wrap:!0},s().createElement(o.CollectionFilter,{collection:I,t:E,onChange:function(e){K(1),T(e)}})),s().createElement(u.Space,{wrap:!0},s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return q.refresh()}},E("Refresh")),s().createElement(u.Popconfirm,{title:E("Remove"),description:E("Are you sure you want to remove these departments?"),onConfirm:function(){return Q(M)}},s().createElement(u.Button,{icon:s().createElement(r.DeleteOutlined,null),disabled:!M.length},E("Remove"))),s().createElement(u.Button,{type:"primary",icon:s().createElement(r.PlusOutlined,null),onClick:U},E("Add departments")))),s().createElement(o.Table,{rowKey:"id",showIndex:!1,loading:q.loading,dataSource:(null==(b=q.data)?void 0:b.data)||[],columns:V,scroll:{x:"max-content",y:"100%"},className:Z,pagination:{current:null!=(n=null==(y=q.data)?void 0:y.page)?n:F,pageSize:null!=(t=null==(v=q.data)?void 0:v.pageSize)?t:H,total:null==(S=q.data)?void 0:S.total,showSizeChanger:!0,onChange:function(e,n){K(e),W(n)}},rowSelection:{type:"checkbox",selectedRowKeys:M,onChange:function(e){return z(w(e))}}})):s().createElement(u.Typography.Text,{type:"secondary"},E("Select a role to configure permissions"))}},488:function(e,n,t){t.d(n,{k:function(){return a}});var r=t(694);function a(){var e=(0,r.useFlowEngine)();return function(n,t){return e.context.t(n,function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r;r=t[n],n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}({ns:["@nocobase/plugin-departments","departments","client"],nsMode:"fallback"},t))}}},836:function(e,n,t){function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r;r=t[n],n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}function a(e){var n=new Map,t=[];return e.forEach(function(e){var t,a;n.set(e.id,(t=r({},e),a=a={children:[]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):(function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n})(Object(a)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}),t))}),n.forEach(function(e){if(null!=e.parentId&&n.has(e.parentId)){var r,a;null==(a=n.get(e.parentId))||null==(r=a.children)||r.push(e);return}t.push(e)}),n.forEach(function(e){var n;(null==(n=e.children)?void 0:n.length)||delete e.children}),t}t.d(n,{RQ:function(){return a},W6:function(){return function e(n){return n.map(function(n){var t,a=r({},n);return(null==(t=n.children)?void 0:t.length)?a.children=e(n.children):!1===n.isLeaf?a.children=[]:delete a.children,a})}},nZ:function(){return function e(n){if(!n)return"";var t=n.title||"";return n.parent?"".concat(e(n.parent)," / ").concat(t):t}}})}}]);
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_departments_client_v2=self.webpackChunk_nocobase_plugin_departments_client_v2||[]).push([["936"],{403:function(e,n,t){t.r(n),t.d(n,{default:function(){return I}});var r=t(375),a=t(477),o=t(485),l=t(694),i=t(625),u=t(59),c=t(155),s=t.n(c),f=t(488),d=t(836);function p(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function m(e,n,t,r,a,o,l){try{var i=e[o](l),u=i.value}catch(e){t(e);return}i.done?n(u):Promise.resolve(u).then(r,a)}function h(e){return function(){var n=this,t=arguments;return new Promise(function(r,a){var o=e.apply(n,t);function l(e){m(o,r,a,l,i,"next",e)}function i(e){m(o,r,a,l,i,"throw",e)}l(void 0)})}}function b(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r;r=t[n],n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}function y(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):(function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n})(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function g(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,i=!1;try{for(a=a.call(e);!(l=(t=a.next()).done)&&(o.push(t.value),!n||o.length!==n);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(i)throw r}}return o}}(e,n)||O(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}function w(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||O(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function O(e,n){if(e){if("string"==typeof e)return p(e,n);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 p(e,n)}}function x(e,n){var t,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(t)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(t=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=n.call(e,o)}catch(e){c=[6,e],r=0}finally{t=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function E(){var e=v(["\n height: 100%;\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n "]);return E=function(){return e},e}function j(){var e=v(["\n flex: 0 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ","px;\n flex-wrap: wrap;\n margin-bottom: ","px;\n "]);return j=function(){return e},e}function C(){var e=v(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content,\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return C=function(){return e},e}function k(){var e=v(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return k=function(){return e},e}var P={paddingInline:0,height:"auto"};function D(e){var n,t,r,a,o,l,i,u,c,s,f,d,p=(n=null==e?void 0:e.data)&&(void 0===n?"undefined":S(n))==="object"?n:{};return{data:null!=(t=null!=(r=p.data)?r:p.rows)?t:[],page:null!=(a=null==(c=p.meta)?void 0:c.page)?a:p.page,pageSize:null!=(o=null==(s=p.meta)?void 0:s.pageSize)?o:p.pageSize,total:null!=(l=null!=(i=null!=(u=null==(f=p.meta)?void 0:f.total)?u:null==(d=p.meta)?void 0:d.count)?i:p.total)?l:p.count}}function R(e){var n,t,p,m,v,O,k,P,R,I,A,M=(0,l.useFlowContext)(),z=(0,l.useFlowView)(),N=(0,f.k)(),_=(n=u.theme.useToken().token,t=(0,c.useMemo)(function(){return(0,a.css)(E())},[]),p=(0,c.useMemo)(function(){return(0,a.css)(j(),n.marginSM,n.marginSM)},[n.marginSM]),{contentClassName:t,tableClassName:(0,c.useMemo)(function(){return(0,a.css)(C())},[]),toolbarClassName:p}),T=_.contentClassName,B=_.tableClassName,F=_.toolbarClassName,K=g((0,c.useState)([]),2),L=K[0],H=K[1],W=g((0,c.useState)(),2),Z=W[0],q=W[1],G=g((0,c.useState)(1),2),Q=G[0],U=G[1],V=g((0,c.useState)(20),2),$=V[0],J=V[1],X=g((0,c.useState)(!1),2),Y=X[0],ee=X[1],en=g((0,c.useState)([]),2),et=en[0],er=en[1],ea=g((0,c.useState)([]),2),eo=ea[0],el=ea[1],ei=(0,c.useRef)(new Set),eu=null==(k=M.dataSourceManager)||null==(O=k.getDataSource("main"))?void 0:O.getCollection("departments"),ec=!!(Z&&(void 0===Z?"undefined":S(Z))==="object"&&Object.keys(Z).length>0),es=(0,i.useRequest)(function(){return h(function(){return x(this,function(e){switch(e.label){case 0:return[4,M.api.resource("departments").list({appends:["parent(recursively=true)","roles"],filter:ec?Z:{parentId:null},page:Q,pageSize:$,sort:["sort"]})];case 1:return[2,D(e.sent())]}})})()},{refreshDeps:[Z,ec,Q,$],onSuccess:function(e){ec||(er((0,d.W6)(e.data)),el([]))}}),ef=(0,c.useCallback)(function(e){return h(function(){var n,t,r;return x(this,function(a){switch(a.label){case 0:if(e.isLeaf||(null==(n=e.children)?void 0:n.length)||ei.current.has(e.id))return[2];ei.current.add(e.id),a.label=1;case 1:return a.trys.push([1,,3,4]),[4,M.api.resource("departments").list({appends:["parent(recursively=true)","roles"],filter:{parentId:e.id},paginate:!1,sort:["sort"]})];case 2:return t=a.sent(),r=(0,d.W6)(D(t).data),er(function(n){return function e(n,t,r){return n.map(function(n){var a;if(n.id===t){var o=y(b({},n),{isLeaf:!r.length});return r.length?o.children=r:delete o.children,o}return(null==(a=n.children)?void 0:a.length)?y(b({},n),{children:e(n.children,t,r)}):n})}(n,e.id,r)}),[3,4];case 3:return ei.current.delete(e.id),[7];case 4:return[2]}})})()},[M.api]),ed=(0,c.useCallback)(function(){return h(function(){return x(this,function(n){switch(n.label){case 0:if(!L.length)return[2];ee(!0),n.label=1;case 1:return n.trys.push([1,,5,6]),[4,M.api.resource("roles.departments",e.roleName).add({values:L})];case 2:return n.sent(),M.message.success(N("Saved successfully")),[4,e.onSubmitted()];case 3:return n.sent(),[4,z.close()];case 4:return n.sent(),[3,6];case 5:return ee(!1),[7];case 6:return[2]}})})()},[M.api,M.message,e,L,N,z]),ep=(0,c.useCallback)(function(){return h(function(){return x(this,function(e){switch(e.label){case 0:return[4,z.close()];case 1:return e.sent(),[2]}})})()},[z]);return s().createElement("div",{style:{flex:1,height:"100%",minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"}},z.Header?s().createElement(z.Header,{title:N("Add departments")}):null,s().createElement("div",{className:T},s().createElement("div",{className:F},s().createElement(u.Space,{wrap:!0},s().createElement(o.CollectionFilter,{collection:eu,t:N,onChange:function(e){H([]),el([]),U(1),q(e)}})),s().createElement(u.Space,{wrap:!0},s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return es.refresh()}},N("Refresh")))),s().createElement(o.Table,{rowKey:"id",showIndex:!1,loading:es.loading,dataSource:ec?(null==(P=es.data)?void 0:P.data)||[]:et,columns:[{title:N("Department name"),render:function(e,n){return ec?(0,d.nZ)(n):n.title}}],expandable:ec?void 0:{defaultExpandAllRows:!1,expandedRowKeys:eo,rowExpandable:function(e){var n;return!1===e.isLeaf||!!(null==(n=e.children)?void 0:n.length)},onExpand:function(e,n){e&&ef(n)},onExpandedRowsChange:function(e){return el(w(e))}},pagination:{current:null!=(m=null==(R=es.data)?void 0:R.page)?m:Q,pageSize:null!=(v=null==(I=es.data)?void 0:I.pageSize)?v:$,total:null==(A=es.data)?void 0:A.total,showSizeChanger:!0,onChange:function(e,n){U(e),J(n)}},rowSelection:{preserveSelectedRowKeys:!0,selectedRowKeys:L,onChange:H,getCheckboxProps:function(n){var t;return{disabled:null==(t=n.roles)?void 0:t.some(function(n){return n.name===e.roleName})}}},locale:{emptyText:s().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE})},scroll:{x:"max-content",y:"100%"},className:B})),z.Footer?s().createElement(z.Footer,null,s().createElement(u.Space,null,s().createElement(u.Button,{onClick:ep},N("Cancel")),s().createElement(u.Button,{type:"primary",loading:Y,disabled:!L.length,onClick:ed},N("Submit")))):null)}function I(e){var n,t,p,m,b,y,v,S,O=(0,l.useFlowContext)(),E=(0,f.k)(),j=u.theme.useToken().token,C=e.role,I=null==(m=O.dataSourceManager)||null==(p=m.getDataSource("main"))?void 0:p.getCollection("departments"),A=g((0,c.useState)([]),2),M=A[0],z=A[1],N=g((0,c.useState)(),2),_=N[0],T=N[1],B=g((0,c.useState)(1),2),F=B[0],K=B[1],L=g((0,c.useState)(20),2),H=L[0],W=L[1],Z=(0,c.useMemo)(function(){return(0,a.css)(k())},[]),q=(0,i.useRequest)(function(){return h(function(){return x(this,function(e){switch(e.label){case 0:if(!C)return[2,{data:[],page:F,pageSize:H,total:0}];return[4,O.api.resource("roles/".concat(C.name,"/departments")).list({appends:["parent(recursively=true)"],filter:_,page:F,pageSize:H})];case 1:return[2,D(e.sent())]}})})()},{ready:!!C,refreshDeps:[_,F,H,null==C?void 0:C.name],onSuccess:function(){return z([])}}),G=(0,c.useCallback)(function(){return h(function(){return x(this,function(e){switch(e.label){case 0:return[4,q.refreshAsync()];case 1:return e.sent(),[2]}})})()},[q]),Q=(0,c.useCallback)(function(e){return h(function(){return x(this,function(n){switch(n.label){case 0:if(!C||!e.length)return[2];return[4,O.api.resource("roles/".concat(C.name,"/departments")).remove({values:e})];case 1:return n.sent(),O.message.success(E("Removed successfully")),z([]),[4,G()];case 2:return n.sent(),[2]}})})()},[O.api,O.message,G,C,E]),U=(0,c.useCallback)(function(){C&&O.viewer.drawer({closable:!0,width:"50%",styles:{body:{display:"flex",flexDirection:"column",overflow:"hidden"}},content:function(){return s().createElement(R,{roleName:C.name,onSubmitted:G})}})},[O.viewer,G,C]),V=(0,c.useMemo)(function(){return w([{title:E("Department name"),render:function(e,n){return(0,d.nZ)(n)||n.title}}]).concat([{title:E("Actions"),width:120,render:function(e,n){return s().createElement(u.Popconfirm,{title:E("Remove department"),description:E("Are you sure you want to remove it?"),onConfirm:function(){return Q([n.id])}},s().createElement(u.Button,{type:"link",size:"small",style:P},E("Remove")))}}])},[Q,E]);return C?s().createElement("div",{style:{height:"100%",minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"}},s().createElement("div",{style:{flex:"0 0 auto",display:"flex",justifyContent:"space-between",alignItems:"center",gap:j.marginSM,flexWrap:"wrap",marginBottom:j.marginSM}},s().createElement(u.Space,{wrap:!0},s().createElement(o.CollectionFilter,{collection:I,t:E,onChange:function(e){K(1),T(e)}})),s().createElement(u.Space,{wrap:!0},s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return q.refresh()}},E("Refresh")),s().createElement(u.Popconfirm,{title:E("Remove"),description:E("Are you sure you want to remove these departments?"),onConfirm:function(){return Q(M)}},s().createElement(u.Button,{icon:s().createElement(r.DeleteOutlined,null),disabled:!M.length},E("Remove"))),s().createElement(u.Button,{type:"primary",icon:s().createElement(r.PlusOutlined,null),onClick:U},E("Add departments")))),s().createElement(o.Table,{rowKey:"id",showIndex:!1,loading:q.loading,dataSource:(null==(b=q.data)?void 0:b.data)||[],columns:V,scroll:{x:"max-content",y:"100%"},className:Z,pagination:{current:null!=(n=null==(y=q.data)?void 0:y.page)?n:F,pageSize:null!=(t=null==(v=q.data)?void 0:v.pageSize)?t:H,total:null==(S=q.data)?void 0:S.total,showSizeChanger:!0,onChange:function(e,n){K(e),W(n)}},rowSelection:{type:"checkbox",selectedRowKeys:M,onChange:function(e){return z(w(e))}}})):s().createElement(u.Typography.Text,{type:"secondary"},E("Select a role to configure permissions"))}},488:function(e,n,t){t.d(n,{k:function(){return a}});var r=t(694);function a(){var e=(0,r.useFlowEngine)();return function(n,t){return e.context.t(n,function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r;r=t[n],n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}({ns:["@nocobase/plugin-departments","departments","client"],nsMode:"fallback"},t))}}},836:function(e,n,t){function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r;r=t[n],n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}function a(e){var n=new Map,t=[];return e.forEach(function(e){var t,a;n.set(e.id,(t=r({},e),a=a={children:[]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):(function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n})(Object(a)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}),t))}),n.forEach(function(e){if(null!=e.parentId&&n.has(e.parentId)){var r,a=n.get(e.parentId);(null==a?void 0:a.isLeaf)!==!0&&(null==a||null==(r=a.children)||r.push(e));return}t.push(e)}),n.forEach(function(e){var n;(null==(n=e.children)?void 0:n.length)||delete e.children}),t}t.d(n,{RQ:function(){return a},W6:function(){return function e(n){return n.map(function(n){var t,a=r({},n);return(null==(t=n.children)?void 0:t.length)?a.children=e(n.children):!1===n.isLeaf?a.children=[]:delete a.children,a})}},nZ:function(){return function e(n){if(!n)return"";var t=n.title||"";return n.parent?"".concat(e(n.parent)," / ").concat(t):t}}})}}]);
|
package/dist/client-v2/index.js
CHANGED
|
@@ -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("ahooks"),require("@emotion/css"),require("@nocobase/plugin-acl/client-v2"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):"function"==typeof define&&define.amd?define("@nocobase/plugin-departments/client-v2",["ahooks","@emotion/css","@nocobase/plugin-acl/client-v2","@nocobase/client-v2","react","antd","@ant-design/icons","@nocobase/flow-engine"],t):"object"==typeof exports?exports["@nocobase/plugin-departments/client-v2"]=t(require("ahooks"),require("@emotion/css"),require("@nocobase/plugin-acl/client-v2"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):e["@nocobase/plugin-departments/client-v2"]=t(e.ahooks,e["@emotion/css"],e["@nocobase/plugin-acl/client-v2"],e["@nocobase/client-v2"],e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"])}(self,function(e,t,n,r,o,i,c,a){return function(){"use strict";var u,s,l,p={375:function(e){e.exports=c},477:function(e){e.exports=t},485:function(e){e.exports=r},694:function(e){e.exports=a},762:function(e){e.exports=n},625:function(t){t.exports=e},59:function(e){e.exports=i},155:function(e){e.exports=o}},f={};function d(e){var t=f[e];if(void 0!==t)return t.exports;var n=f[e]={exports:{}};return p[e](n,n.exports,d),n.exports}d.m=p,d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){return""+e+"."+({32:"
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("ahooks"),require("@emotion/css"),require("@nocobase/plugin-acl/client-v2"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):"function"==typeof define&&define.amd?define("@nocobase/plugin-departments/client-v2",["ahooks","@emotion/css","@nocobase/plugin-acl/client-v2","@nocobase/client-v2","react","antd","@ant-design/icons","@nocobase/flow-engine"],t):"object"==typeof exports?exports["@nocobase/plugin-departments/client-v2"]=t(require("ahooks"),require("@emotion/css"),require("@nocobase/plugin-acl/client-v2"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine")):e["@nocobase/plugin-departments/client-v2"]=t(e.ahooks,e["@emotion/css"],e["@nocobase/plugin-acl/client-v2"],e["@nocobase/client-v2"],e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"])}(self,function(e,t,n,r,o,i,c,a){return function(){"use strict";var u,s,l,p={375:function(e){e.exports=c},477:function(e){e.exports=t},485:function(e){e.exports=r},694:function(e){e.exports=a},762:function(e){e.exports=n},625:function(t){t.exports=e},59:function(e){e.exports=i},155:function(e){e.exports=o}},f={};function d(e){var t=f[e];if(void 0!==t)return t.exports;var n=f[e]={exports:{}};return p[e](n,n.exports,d),n.exports}d.m=p,d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){return""+e+"."+({32:"17137f07e6af9498",936:"b59b7b58a7f64c0a"})[e]+".js"},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},b={},d.l=function(e,t,n,r){if(b[e])return void b[e].push(t);if(void 0!==n)for(var o,i,c=document.getElementsByTagName("script"),a=0;a<c.length;a++){var u=c[a];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-departments/client-v2:"+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,d.nc&&o.setAttribute("nonce",d.nc),o.setAttribute("data-rspack","@nocobase/plugin-departments/client-v2:"+n),o.src=e),b[e]=[t];var s=function(t,n){o.onerror=o.onload=null,clearTimeout(l);var r=b[e];if(delete b[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),i&&document.head.appendChild(o)},d.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.g.importScripts&&(v=d.g.location+"");var b,v,h=d.g.document;if(!v&&h&&(h.currentScript&&"SCRIPT"===h.currentScript.tagName.toUpperCase()&&(v=h.currentScript.src),!v)){var g=h.getElementsByTagName("script");if(g.length)for(var m=g.length-1;m>-1&&(!v||!/^http(s?):/.test(v));)v=g[m--].src}if(!v)throw Error("Automatic publicPath is not supported in this browser");d.p=v.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),u={889:0},d.f.j=function(e,t){var n=d.o(u,e)?u[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var o=d.p+d.u(e),i=Error();d.l(o,function(t){if(d.o(u,e)&&(0!==(n=u[e])&&(u[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},s=function(e,t){var n,r,o=t[0],i=t[1],c=t[2],a=0;if(o.some(function(e){return 0!==u[e]})){for(n in i)d.o(i,n)&&(d.m[n]=i[n]);c&&c(d)}for(e&&e(t);a<o.length;a++)r=o[a],d.o(u,r)&&u[r]&&u[r][0](),u[r]=0},(l=self.webpackChunk_nocobase_plugin_departments_client_v2=self.webpackChunk_nocobase_plugin_departments_client_v2||[]).forEach(s.bind(null,0)),l.push=s.bind(null,l.push.bind(l));var y={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-departments/dist/client-v2/")}if(!e){var r=window.__nocobase_modern_client_prefix__||"v",o="/"+(r=String(r).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",c=i.indexOf(o);e=c>=0?i.slice(0,c+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-departments/dist/client-v2/"}d.p=e}(),!function(){d.r(y),d.d(y,{default:function(){return s}});var e=d(485),t=d(762),n=d.n(t);function r(e,t,n,r,o,i,c){try{var a=e[i](c),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function o(e,t,n){return(o=u()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&c(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 c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e){var t="function"==typeof Map?new Map:void 0;return(a=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 o(e,arguments,i(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),c(n,e)})(e)}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(u=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 o(){var e,t;if(!(this instanceof o))throw TypeError("Cannot call a class as a function");return e=o,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,u()?Reflect.construct(e,t||[],i(this).constructor):e.apply(this,t))}return o.prototype=Object.create(e&&e.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),e&&c(o,e),t=[{key:"load",value:function(){var e;return(e=function(){var e;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:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:u(0)}),a(c,"throw",{value:u(1)}),a(c,"return",{value:u(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function u(a){return function(u){var s=[a,u];if(n)throw TypeError("Generator is already executing.");for(;c&&(c=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(t){return this.pluginSettingsManager.has("users-permissions")||this.pluginSettingsManager.addMenuItem({key:"users-permissions",title:this.t("Users & Permissions"),isPinned:!0,sort:200,icon:"TeamOutlined"}),this.pluginSettingsManager.addPageTabItem({menuKey:"users-permissions",key:"departments",title:this.t("Departments"),icon:"ApartmentOutlined",sort:3,aclSnippet:"pm.departments",componentLoader:function(){return d.e("32").then(d.bind(d,3))}}),null==(e=this.app.pm.get(n()))||e.rolesManager.add("departments",{title:String(this.t("Departments")),sort:20,componentLoader:function(){return d.e("936").then(d.bind(d,403))}}),[2]})},function(){var t=this,n=arguments;return new Promise(function(o,i){var c=e.apply(t,n);function a(e){r(c,o,i,a,u,"next",e)}function u(e){r(c,o,i,a,u,"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)}}(o.prototype,t),o}(a(e.Plugin))}(),y}()});
|
package/dist/externalVersion.js
CHANGED
|
@@ -8,27 +8,27 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
-
"@nocobase/client": "2.2.0-beta.
|
|
11
|
+
"@nocobase/client": "2.2.0-beta.3",
|
|
12
12
|
"react": "18.2.0",
|
|
13
13
|
"@formily/react": "2.3.7",
|
|
14
14
|
"@formily/core": "2.3.7",
|
|
15
|
-
"@nocobase/utils": "2.2.0-beta.
|
|
16
|
-
"@nocobase/plugin-acl": "2.2.0-beta.
|
|
15
|
+
"@nocobase/utils": "2.2.0-beta.3",
|
|
16
|
+
"@nocobase/plugin-acl": "2.2.0-beta.3",
|
|
17
17
|
"react-i18next": "11.18.6",
|
|
18
|
-
"@nocobase/flow-engine": "2.2.0-beta.
|
|
19
|
-
"@nocobase/client-v2": "2.2.0-beta.
|
|
20
|
-
"@nocobase/database": "2.2.0-beta.
|
|
18
|
+
"@nocobase/flow-engine": "2.2.0-beta.3",
|
|
19
|
+
"@nocobase/client-v2": "2.2.0-beta.3",
|
|
20
|
+
"@nocobase/database": "2.2.0-beta.3",
|
|
21
21
|
"lodash": "4.18.1",
|
|
22
|
-
"@nocobase/plugin-user-data-sync": "2.2.0-beta.
|
|
23
|
-
"@nocobase/cache": "2.2.0-beta.
|
|
24
|
-
"@nocobase/server": "2.2.0-beta.
|
|
25
|
-
"@nocobase/data-source-manager": "2.2.0-beta.
|
|
26
|
-
"@nocobase/plugin-error-handler": "2.2.0-beta.
|
|
22
|
+
"@nocobase/plugin-user-data-sync": "2.2.0-beta.3",
|
|
23
|
+
"@nocobase/cache": "2.2.0-beta.3",
|
|
24
|
+
"@nocobase/server": "2.2.0-beta.3",
|
|
25
|
+
"@nocobase/data-source-manager": "2.2.0-beta.3",
|
|
26
|
+
"@nocobase/plugin-error-handler": "2.2.0-beta.3",
|
|
27
27
|
"sequelize": "6.35.2",
|
|
28
28
|
"antd": "5.24.2",
|
|
29
29
|
"@ant-design/icons": "5.6.1",
|
|
30
30
|
"@formily/shared": "2.3.7",
|
|
31
31
|
"@emotion/css": "11.13.0",
|
|
32
32
|
"ahooks": "3.7.8",
|
|
33
|
-
"@nocobase/actions": "2.2.0-beta.
|
|
33
|
+
"@nocobase/actions": "2.2.0-beta.3"
|
|
34
34
|
};
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"description": "Organize users by departments, set hierarchical relationships, link roles to control permissions, and use departments as variables in workflows and expressions.",
|
|
7
7
|
"description.ru-RU": "Организация пользователей по подразделениям, установление иерархических связей, привязка ролей для управления правами и использование подразделений в качестве переменных в рабочих процессах и выражениях.",
|
|
8
8
|
"description.zh-CN": "以部门来组织用户,设定上下级关系,绑定角色控制权限,并支持作为变量用于工作流和表达式。",
|
|
9
|
-
"version": "2.2.0-beta.
|
|
9
|
+
"version": "2.2.0-beta.3",
|
|
10
10
|
"main": "dist/server/index.js",
|
|
11
11
|
"peerDependencies": {
|
|
12
12
|
"@nocobase/actions": "2.x",
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
"keywords": [
|
|
23
23
|
"Users & permissions"
|
|
24
24
|
],
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "7b16bb2cfd427c110c6671252138cd85155723c5",
|
|
26
26
|
"license": "Apache-2.0"
|
|
27
27
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
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
|
-
"use strict";(self.webpackChunk_nocobase_plugin_departments_client_v2=self.webpackChunk_nocobase_plugin_departments_client_v2||[]).push([["32"],{3:function(e,t,n){n.r(t),n.d(t,{default:function(){return H}});var r=n(375),a=n(485),l=n(694),o=n(477),i=n(625),u=n(59),c=n(155),s=n.n(c);function d(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function m(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){d(l,r,a,o,i,"next",e)}function i(e){d(l,r,a,o,i,"throw",e)}o(void 0)})}}function f(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function p(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return 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}({title:e.title,parentId:null!=(t=e.parentId)?t:null,roles:(e.roleNames||[]).map(function(e){return{name:e}})},n?{owners:(e.ownerIds||[]).map(function(e){return{id:e}})}:{})}var h=n(488),b=n(836);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 v(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function g(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){v(l,r,a,o,i,"next",e)}function i(e){v(l,r,a,o,i,"throw",e)}o(void 0)})}}function w(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}function E(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||C(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function O(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||C(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function C(e,t){if(e){if("string"==typeof e)return y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(e,t)}}function j(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function D(){var e=x(["\n height: 100%;\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n "]);return D=function(){return e},e}function P(){var e=x(["\n flex: 0 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ","px;\n flex-wrap: wrap;\n margin-bottom: ","px;\n "]);return P=function(){return e},e}function I(){var e=x(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content,\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return I=function(){return e},e}function M(){var e=x(["\n height: ",";\n min-height: 0;\n overflow: hidden;\n > .ant-card-body {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n "]);return M=function(){return e},e}function A(){var e=x(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n .ant-table-content {\n flex: 1;\n min-height: 0;\n }\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return A=function(){return e},e}function R(){var e=x(["\n flex: 1;\n min-height: 0;\n overflow-y: scroll;\n overflow-x: hidden;\n .ant-tree-treenode {\n width: 100%;\n padding: 2px 0;\n }\n .ant-tree-switcher {\n line-height: 32px;\n }\n .ant-tree-switcher::before {\n height: 32px;\n }\n .ant-tree-node-content-wrapper {\n flex: 1;\n min-width: 0;\n height: 32px;\n line-height: 32px;\n overflow: hidden;\n padding-inline: 8px;\n }\n .ant-tree-title {\n display: block;\n }\n .ant-tree-node-selected {\n background-color: ",";\n }\n "]);return R=function(){return e},e}var T={paddingInline:0,height:"auto"};function F(){var e=u.theme.useToken().token,t=(0,c.useMemo)(function(){return(0,o.css)(D())},[]),n=(0,c.useMemo)(function(){return(0,o.css)(P(),e.marginSM,e.marginSM)},[e.marginSM]);return{contentClassName:t,tableClassName:(0,c.useMemo)(function(){return(0,o.css)(I())},[]),toolbarClassName:n}}function N(e,t,n){return e.resource(t,n)}function B(e){return e.resource("departments")}function z(e){return null==e?void 0:e.data}function q(e){var t,n,r=z(e),a=null!=(t=null!=(n=null==r?void 0:r.data)?n:null==r?void 0:r.rows)?t:r;return Array.isArray(a)?a:[]}function U(e){var t=z(e),n=null==t?void 0:t.meta;return n&&(void 0===n?"undefined":k(n))==="object"?n:t&&(void 0===t?"undefined":k(t))==="object"?t:{}}function _(e){return e.nickname||e.username||e.email||""}function K(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set;return e.filter(function(e){return!n.has(e.id)}).map(function(e){var r;return{key:e.id,value:e.id,title:t(e),children:(null==(r=e.children)?void 0:r.length)?K(e.children,t,n):void 0}})}function L(e){var t=e.mode,n=e.request,r=e.mapOptions,a=function(e,t){if(null==e)return{};var n,r,a,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(a=0,n=Reflect.ownKeys(Object(e));a<n.length;a++)r=n[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,a={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n]);return a}(e,t),Object.getOwnPropertySymbols)for(a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)r=n[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}(e,["mode","request","mapOptions"]),l=(0,i.useRequest)(n);return s().createElement(u.Select,E(w({},a),{allowClear:!0,mode:t,loading:l.loading,options:(l.data||[]).map(r)}))}function G(e){var t,n,r,o,i,d=(0,h.k)(),y=(0,l.useFlowContext)(),v=S(u.Form.useForm(),1)[0],w=S((0,c.useState)(!1),2),E=w[0],x=w[1],O=(0,c.useMemo)(function(){return B(y.api)},[y.api]),k=(0,c.useMemo)(function(){return(0,b.RQ)(e.departments)},[e.departments]),C=(0,c.useMemo)(function(){return K(k,function(e){return e.title||""},function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;return t&&(n.add(t.id),(t.children||[]).forEach(function(t){return e(t,n)})),n}(e.record))},[k,e.record]),D=(0,c.useCallback)(function(){return g(function(){var t;return j(this,function(n){var r,a,l;switch(n.label){case 0:return[4,v.validateFields()];case 1:t=n.sent(),x(!0),n.label=2;case 2:if(n.trys.push([2,,7,8]),"create"!==e.mode)return[3,4];return[4,(r=t,m(function(){return f(this,function(e){switch(e.label){case 0:return[4,O.create({values:p(r)})];case 1:return e.sent(),[2]}})})())];case 3:case 5:return n.sent(),e.onSubmitted(),[2];case 4:if(!e.record)return[3,6];return[4,(a=e.record,l=t,m(function(){return f(this,function(e){switch(e.label){case 0:if(null==a.id)throw Error("Edit mode requires department.id");return[4,O.update({filterByTk:a.id,values:p(l,!0)})];case 1:return e.sent(),[2]}})})())];case 6:throw Error("Edit mode requires a department record");case 7:return x(!1),[7];case 8:return[2]}})})()},[v,e,O]);return s().createElement(a.DrawerFormLayout,{title:"create"===e.mode?d("New department"):d("Edit department"),onSubmit:D,submitting:E,submitText:d("Submit"),cancelText:d("Cancel")},s().createElement(u.Form,{form:v,layout:"vertical",initialValues:{title:null==(o=e.record)?void 0:o.title,parentId:null!=(r=null==(i=e.record)?void 0:i.parentId)?r:null,roleNames:((null==(t=e.record)?void 0:t.roles)||[]).map(function(e){return e.name}),ownerIds:((null==(n=e.record)?void 0:n.owners)||[]).map(function(e){return e.id})}},s().createElement(u.Form.Item,{name:"title",label:d("Department name"),rules:[{required:!0,message:d("Required")}]},s().createElement(u.Input,null)),s().createElement(u.Form.Item,{name:"parentId",label:d("Superior department")},s().createElement(u.TreeSelect,{allowClear:!0,treeDefaultExpandAll:!0,treeData:C})),s().createElement(u.Form.Item,{name:"roleNames",label:d("Roles")},s().createElement(L,{mode:"multiple",request:function(){return g(function(){return j(this,function(e){switch(e.label){case 0:return[4,N(y.api,"roles").list({paginate:!1})];case 1:return[2,q(e.sent())]}})})()},mapOptions:function(e){return{label:e.title?d(e.title,{ns:["@nocobase/plugin-acl","acl","client"],nsMode:"fallback"}):e.name,value:e.name}}})),"edit"===e.mode?s().createElement(u.Form.Item,{name:"ownerIds",label:d("Owners")},s().createElement(L,{mode:"multiple",request:function(){return g(function(){var t;return j(this,function(n){switch(n.label){case 0:return[4,N(y.api,"departments/".concat(null==(t=e.record)?void 0:t.id,"/members")).list({disableDefaultAppends:!0,paginate:!1})];case 1:return[2,q(n.sent())]}})})()},mapOptions:function(e){return{label:_(e),value:e.id}}})):null))}function Z(e){var t,n,o,d=(0,h.k)(),m=(0,l.useFlowContext)(),f=F(),p=f.contentClassName,b=f.tableClassName,y=f.toolbarClassName,v=null==(n=m.dataSourceManager)||null==(t=n.getDataSource("main"))?void 0:t.getCollection("users"),w=S((0,c.useState)([]),2),E=w[0],x=w[1],O=S((0,c.useState)(),2),k=O[0],C=O[1],D=S((0,c.useState)(1),2),P=D[0],I=D[1],M=S((0,c.useState)(20),2),A=M[0],R=M[1],T=S((0,c.useState)(!1),2),B=T[0],z=T[1],K=(0,i.useRequest)(function(){return g(function(){var t;return j(this,function(n){switch(n.label){case 0:return[4,N(m.api,"users").listExcludeDept({departmentId:e.department.id,filter:k,page:P,pageSize:A})];case 1:return[2,{data:q(t=n.sent()),meta:U(t)}]}})})()},{refreshDeps:[k,P,A,e.department.id]}),L=(0,c.useCallback)(function(){return g(function(){return j(this,function(t){switch(t.label){case 0:if(!E.length)return[2];z(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,N(m.api,"departments.members",e.department.id).add({values:E})];case 2:return t.sent(),e.onSubmitted(),[3,4];case 3:return z(!1),[7];case 4:return[2]}})})()},[m.api,e,E]),G=(0,c.useMemo)(function(){return[{title:d("Nickname"),render:function(e,t){return _(t)}},{title:d("Username"),dataIndex:"username"},{title:d("Phone"),dataIndex:"phone"},{title:d("Email"),dataIndex:"email"}]},[d]),Z=K.data,W=(null==Z?void 0:Z.data)||[],Q=null==Z||null==(o=Z.meta)?void 0:o.count;return s().createElement(a.DrawerFormLayout,{title:d("Add members"),onSubmit:L,submitting:B,submitText:d("Submit"),cancelText:d("Cancel")},s().createElement("div",{className:p},s().createElement("div",{className:y},s().createElement(u.Space,{wrap:!0},s().createElement(a.CollectionFilter,{collection:v,t:d,onChange:function(e){x([]),I(1),C(e)}})),s().createElement(u.Space,{wrap:!0},s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return K.refresh()}},d("Refresh")))),s().createElement(a.Table,{rowKey:"id",showIndex:!1,loading:K.loading,dataSource:W,columns:G,pagination:{current:P,pageSize:A,total:null!=Q?Q:0,showSizeChanger:!0,onChange:function(e,t){I(e),R(t)}},rowSelection:{preserveSelectedRowKeys:!0,selectedRowKeys:E,onChange:x},scroll:{x:"max-content",y:"100%"},className:b})))}function W(e){var t,n,o=(0,h.k)(),d=(0,l.useFlowContext)(),m=F(),f=m.contentClassName,p=m.tableClassName,y=m.toolbarClassName,v=null==(n=d.dataSourceManager)||null==(t=n.getDataSource("main"))?void 0:t.getCollection("departments"),x=S((0,c.useState)([]),2),O=x[0],k=x[1],C=S((0,c.useState)([]),2),D=C[0],P=C[1],I=S((0,c.useState)(),2),M=I[0],A=I[1],R=S((0,c.useState)(!1),2),T=R[0],B=R[1],z=(0,i.useRequest)(function(){return g(function(){return j(this,function(t){switch(t.label){case 0:if(!M)return[2,(0,b.RQ)(e.departments)];return[4,N(d.api,"departments").list({appends:["parent(recursively=true)"],filter:M,paginate:!1,sort:["sort"]})];case 1:return[2,q(t.sent()).map(function(e){return E(w({},e),{title:(0,b.nZ)(e)})})]}})})()},{refreshDeps:[M,e.departments]}),U=(0,c.useMemo)(function(){return[{title:o("Department name"),render:function(e,t){return(0,b.nZ)(t)||t.title}}]},[o]),_=(0,c.useCallback)(function(){return g(function(){return j(this,function(t){switch(t.label){case 0:B(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,e.onSubmitted(D)];case 2:return t.sent(),[3,4];case 3:return B(!1),[7];case 4:return[2]}})})()},[e,D]);return s().createElement(a.DrawerFormLayout,{title:o("Select Departments"),onSubmit:_,submitting:T,submitText:o("Submit"),cancelText:o("Cancel")},s().createElement("div",{className:f},s().createElement("div",{className:y},s().createElement(u.Space,{wrap:!0},s().createElement(a.CollectionFilter,{collection:v,t:o,onChange:A})),s().createElement(u.Space,{wrap:!0},s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return z.refresh()}},o("Refresh")))),s().createElement(a.Table,{rowKey:"id",showIndex:!1,loading:z.loading,columns:U,dataSource:z.data||[],expandable:M?void 0:{defaultExpandAllRows:!1},pagination:!M&&{pageSize:10,showSizeChanger:!0},rowSelection:{selectedRowKeys:O,onChange:function(e,t){k(e),P(t)},getCheckboxProps:function(t){return{disabled:e.disabledIds.has(t.id)}}},scroll:{x:"max-content",y:"100%"},className:p})))}function Q(e){var t=(0,h.k)(),n=(0,l.useFlowContext)(),o=u.App.useApp(),d=o.modal,m=o.message,f=S((0,c.useState)(e.user.mainDepartmentId),2),p=f[0],y=f[1],v=(0,i.useRequest)(function(){return g(function(){return j(this,function(t){switch(t.label){case 0:return[4,N(n.api,"users.departments",e.user.id).list({appends:["parent(recursively=true)"],paginate:!1})];case 1:return[2,q(t.sent()).map(function(e){return E(w({},e),{title:(0,b.nZ)(e)})})]}})})()},{refreshDeps:[e.user.id]}),x=(0,c.useMemo)(function(){return v.data||[]},[v.data]),k=(0,c.useMemo)(function(){return new Set(x.map(function(e){return e.id}))},[x]),C=(0,c.useCallback)(function(t){return g(function(){var r;return j(this,function(a){switch(a.label){case 0:if(!(r=t.map(function(e){return e.id}).filter(function(e){return!k.has(e)})).length)return[2];return[4,N(n.api,"users.departments",e.user.id).add({values:r})];case 1:return a.sent(),0===x.length&&y(r[0]),v.refresh(),e.onSubmitted(),[2]}})})()},[n.api,k,x.length,e,v]),D=(0,c.useCallback)(function(){n.viewer.drawer({closable:!0,width:"50%",styles:{body:{display:"flex",flexDirection:"column",overflow:"hidden"}},content:function(){return s().createElement(W,{departments:e.departments,disabledIds:k,onSubmitted:C})}})},[C,n.viewer,k,e.departments]),P=(0,c.useCallback)(function(){return g(function(){return j(this,function(e){return!x.length,[2]})})()},[x.length]),I=(0,c.useCallback)(function(r){d.confirm({title:t("Remove department"),content:t("Are you sure you want to remove it?"),onOk:function(){return g(function(){var a,l;return j(this,function(o){switch(o.label){case 0:return[4,N(n.api,"users.departments",e.user.id).remove({values:[r.id]})];case 1:return o.sent(),p===r.id&&y(null!=(a=null==(l=x.find(function(e){return e.id!==r.id}))?void 0:l.id)?a:null),m.success(t("Deleted successfully")),v.refresh(),e.onSubmitted(),[2]}})})()}})},[n.api,x,p,m,d,e,t,v]),M=(0,c.useCallback)(function(r){return g(function(){return j(this,function(a){switch(a.label){case 0:return[4,N(n.api,"users").update({filterByTk:e.user.id,values:{mainDepartmentId:r.id}})];case 1:return a.sent(),y(r.id),m.success(t("Set successfully")),e.onSubmitted(),v.refresh(),[2]}})})()},[n.api,m,e,t,v]);return s().createElement(a.DrawerFormLayout,{title:t("Departments"),onSubmit:P,submitText:t("Submit"),cancelText:t("Cancel")},s().createElement(u.Space,{direction:"vertical"},s().createElement(u.Space,{wrap:!0},x.map(function(e){return s().createElement(u.Tag,{key:e.id},s().createElement(u.Space,null,s().createElement("span",null,e.title),e.id===p?s().createElement(u.Tag,{color:"processing"},t("Main")):null,s().createElement(u.Dropdown,{menu:{items:O(e.id===p?[]:[{key:"setMain",label:t("Set as main department")}]).concat([{key:"remove",label:t("Remove")}]),onClick:function(t){var n=t.key;"setMain"===n?M(e):"remove"===n&&I(e)}}},s().createElement(u.Button,{type:"text",size:"small",title:t("Actions"),icon:s().createElement(r.MoreOutlined,null)}))))})),s().createElement(u.Button,{icon:s().createElement(r.PlusOutlined,null),title:t("Add departments"),"aria-label":t("Add departments"),onClick:D})))}var H=function(){var e,t,n,d=(0,h.k)(),p=(0,l.useFlowContext)(),y=u.App.useApp(),v=y.modal,x=y.message,k=u.theme.useToken().token,C=null==(t=p.dataSourceManager)||null==(e=t.getDataSource("main"))?void 0:e.getCollection("users"),D=S((0,c.useState)(null),2),P=D[0],I=D[1],F=S((0,c.useState)(null),2),L=F[0],W=F[1],H=S((0,c.useState)([]),2),$=H[0],V=H[1],J=S((0,c.useState)([]),2),X=J[0],Y=J[1],ee=S((0,c.useState)(!1),2),et=ee[0],en=ee[1],er=S((0,c.useState)(""),2),ea=er[0],el=er[1],eo=S((0,c.useState)({users:[],departments:[],moreUsers:!0,moreDepartments:!0}),2),ei=eo[0],eu=eo[1],ec=S((0,c.useState)(),2),es=ec[0],ed=ec[1],em=S((0,c.useState)(1),2),ef=em[0],ep=em[1],eh=S((0,c.useState)(20),2),eb=eh[0],ey=eh[1],ev=(0,i.useRequest)(function(){return g(function(){return j(this,function(e){switch(e.label){case 0:return[4,N(p.api,"departments").list({paginate:!1,sort:["sort"],appends:["parent(recursively=true)","roles","owners"]})];case 1:return[2,q(e.sent())]}})})()}),eg=(0,c.useMemo)(function(){return ev.data||[]},[ev.data]),ew=(0,c.useMemo)(function(){return(0,b.RQ)(eg)},[eg]),eE=(0,i.useRequest)(function(){return g(function(){var e;return j(this,function(t){switch(t.label){case 0:if(L)return[2,{data:[L],meta:{}}];return[4,N(p.api,"users").list({appends:["departments","departments.parent(recursively=true)"],filter:function(e,t){var n=[];if(e&&n.push({"departments.id":e.id}),t&&n.push(t),0!==n.length)return 1===n.length?n[0]:{$and:n}}(P,es),page:ef,pageSize:eb})];case 1:return[2,{data:q(e=t.sent()),meta:U(e)}]}})})()},{refreshDeps:[es,ef,eb,null==P?void 0:P.id,null==L?void 0:L.id],onSuccess:function(){return Y([])}});(0,c.useEffect)(function(){ep(1)},[es,null==P?void 0:P.id,null==L?void 0:L.id]);var eS=(0,i.useRequest)(function(e){return g(function(){var t;return j(this,function(n){switch(n.label){case 0:return[4,N(p.api,"departments").aggregateSearch({values:E(w({},e),{limit:10})})];case 1:return[2,(null==(t=z(n.sent()))?void 0:t.data)||{users:[],departments:[]}]}})})()},{manual:!0,onSuccess:function(e,t){var n=t[0],r=e.users||[],a=e.departments||[];eu(function(e){return{users:"department"===n.type?e.users:n.last?O(e.users).concat(O(r)):r,departments:"user"===n.type?e.departments:n.last?O(e.departments).concat(O(a)):a,moreUsers:n.type&&"user"!==n.type?e.moreUsers:r.length>=10,moreDepartments:n.type&&"department"!==n.type?e.moreDepartments:a.length>=10}})}}),ex=(0,c.useCallback)(function(){ev.refresh(),eE.refresh()},[ev,eE]),eO=(0,c.useCallback)(function(e,t){p.viewer.drawer({closable:!0,width:"50%",content:function(){return s().createElement(G,{mode:e,record:t,departments:eg,onSubmitted:function(){return ex()}})}})},[p.viewer,eg,ex]),ek=(0,c.useCallback)(function(){P&&p.viewer.drawer({closable:!0,width:"50%",styles:{body:{display:"flex",flexDirection:"column",overflow:"hidden"}},content:function(){return s().createElement(Z,{department:P,onSubmitted:function(){return eE.refresh()}})}})},[p.viewer,eE,P]),eC=(0,c.useCallback)(function(e){p.viewer.drawer({closable:!0,width:"50%",content:function(){return s().createElement(Q,{user:e,departments:eg,onSubmitted:function(){return eE.refresh()}})}})},[p.viewer,eg,eE]),ej=(0,c.useCallback)(function(e){v.confirm({title:d("Delete department"),content:d("Are you sure you want to delete it?"),onOk:function(){return g(function(){return j(this,function(t){switch(t.label){case 0:var n;return[4,(n=B(p.api),m(function(){return f(this,function(t){switch(t.label){case 0:if(null==e.id)throw Error("Delete mode requires department.id");return[4,n.destroy({filterByTk:e.id})];case 1:return t.sent(),[2]}})})())];case 1:return t.sent(),x.success(d("Deleted successfully")),I(function(t){return(null==t?void 0:t.id)===e.id?null:t}),ex(),[2]}})})()}})},[p.api,x,v,ex,d]),eD=(0,c.useCallback)(function(e){P&&e.length&&v.confirm({title:d("Remove members"),content:d("Are you sure you want to remove these members?"),onOk:function(){return g(function(){return j(this,function(t){switch(t.label){case 0:return[4,N(p.api,"departments.members",P.id).remove({values:e})];case 1:return t.sent(),Y([]),eE.refresh(),[2]}})})()}})},[p.api,eE,v,P,d]),eP=(0,c.useMemo)(function(){return[{title:d("Nickname"),width:160,render:function(e,t){return _(t)}},{title:d("Username"),dataIndex:"username",width:160},{title:d("Departments"),width:260,render:function(e){return s().createElement(s().Fragment,null,(e.departments||[]).map(function(e,t){return s().createElement(s().Fragment,{key:e.id},t>0?", ":null,s().createElement("a",{onClick:function(){I(e),W(null)}},(0,b.nZ)(e)))}))}}].concat(O(P?[{title:d("Owner"),align:"center",width:96,render:function(e){var t;return(null==(t=e.departments)?void 0:t.some(function(e){var t;return e.id===P.id&&(null==(t=e.departmentsUsers)?void 0:t.isOwner)}))?s().createElement(r.CheckOutlined,{"aria-label":d("Owner"),style:{color:"#52c41a"}}):s().createElement(u.Checkbox,{disabled:!0,"aria-label":d("Owner")})}}]:[]),[{title:d("Phone"),dataIndex:"phone",width:140},{title:d("Email"),dataIndex:"email",width:220},{title:d("Actions"),width:120,render:function(e){return s().createElement(u.Space,null,s().createElement(u.Button,{type:"link",size:"small",style:T,onClick:function(){return eC(e)}},d("Configure")),P?s().createElement(u.Button,{type:"link",size:"small",style:T,onClick:function(){return eD([e.id])}},d("Remove")):null)}}])},[eC,eD,P,d]),eI=(0,c.useCallback)(function(e){return s().createElement(u.Flex,{align:"center",justify:"space-between",gap:8,style:{width:"100%",minWidth:0}},s().createElement(u.Flex,{align:"center",gap:8,style:{flex:"1 1 0",minWidth:0,overflow:"hidden"}},s().createElement(r.ApartmentOutlined,{style:{flex:"0 0 auto"}}),s().createElement("span",{title:e.title,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e.title)),s().createElement(u.Dropdown,{menu:{items:[{key:"new-sub",label:d("New sub department"),icon:s().createElement(r.PlusOutlined,null)},{key:"edit",label:d("Edit department"),icon:s().createElement(r.EditOutlined,null)},{key:"delete",label:d("Delete department"),icon:s().createElement(r.DeleteOutlined,null)}],onClick:function(t){var n=t.key;t.domEvent.stopPropagation(),"new-sub"===n?eO("create",{id:0,parentId:e.id,parent:e}):"edit"===n?eO("edit",e):"delete"===n&&ej(e)}}},s().createElement(u.Button,{type:"text",size:"small",title:d("Actions"),icon:s().createElement(r.MoreOutlined,null),style:{flex:"0 0 auto"},onClick:function(e){return e.stopPropagation()}})))},[ej,eO,d]),eM=(0,c.useMemo)(function(){var e=ei.users,t=ei.departments;return e.length||t.length?O(e.length?[{key:"users",type:"group",label:d("Users"),children:O(e.map(function(e){var t=[e.username,e.phone,e.email].filter(Boolean).join(" | ");return{key:"user-".concat(e.id),label:s().createElement("div",null,s().createElement("div",null,_(e)),t?s().createElement("div",{style:{fontSize:k.fontSizeSM,color:k.colorTextDescription}},t):null),onClick:function(){W(e),I(null),en(!1)}}})).concat(O(ei.moreUsers?[{key:"user-load-more",disabled:eS.loading,label:s().createElement(u.Button,{type:"link",size:"small",loading:eS.loading,onClick:function(t){t.stopPropagation();var n=e[e.length-1];n&&eS.run({keyword:ea,type:"user",last:n.id})}},d("Load more"))}]:[]))}]:[]).concat(O(t.length?[{key:"departments",type:"group",label:d("Departments"),children:O(t.map(function(e){return{key:"department-".concat(e.id),label:(0,b.nZ)(e),onClick:function(){I(e),W(null),en(!1)}}})).concat(O(ei.moreDepartments?[{key:"department-load-more",disabled:eS.loading,label:s().createElement(u.Button,{type:"link",size:"small",loading:eS.loading,onClick:function(e){e.stopPropagation();var n=t[t.length-1];n&&eS.run({keyword:ea,type:"department",last:n.id})}},d("Load more"))}]:[]))}]:[])):[{key:"empty",disabled:!0,label:s().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE})}]},[ea,eS,ei.departments,ei.moreDepartments,ei.moreUsers,ei.users,d,k.colorTextDescription,k.fontSizeSM]),eA=(0,c.useMemo)(function(){return K(ew,eI)},[ew,eI]),eR=(0,c.useMemo)(function(){return(0,o.css)(M(),"calc(100vh - 160px)")},[]),eT=(0,c.useMemo)(function(){return(0,o.css)(A())},[]),eF=(0,c.useMemo)(function(){return(0,o.css)(R(),k.colorPrimaryBg)},[k.colorPrimaryBg]),eN=eE.data,eB=(null==eN?void 0:eN.data)||[],ez=null==eN||null==(n=eN.meta)?void 0:n.count;return s().createElement(u.Card,{className:eR},s().createElement(u.Flex,{gap:k.marginLG,align:"stretch",style:{flex:1,minHeight:0,overflow:"hidden"}},s().createElement(u.Flex,{vertical:!0,gap:k.marginSM,style:{width:280,flex:"0 0 ".concat(280,"px"),minHeight:0,overflow:"hidden"}},s().createElement(u.Dropdown,{trigger:["click"],open:et,onOpenChange:en,menu:{items:eM}},s().createElement(u.Input.Search,{allowClear:!0,value:ea,placeholder:d("Search for departments, users"),onChange:function(e){el(e.target.value),e.target.value||(W(null),en(!1),eu({users:[],departments:[],moreUsers:!0,moreDepartments:!0}))},onSearch:function(e){e&&(eu({users:[],departments:[],moreUsers:!0,moreDepartments:!0}),en(!0),eS.run({keyword:e}))}})),s().createElement(u.Button,{block:!0,icon:s().createElement(r.UserOutlined,null),type:"text",style:{textAlign:"center",justifyContent:"center",background:P||L?void 0:k.colorPrimaryBg},onClick:function(){I(null),W(null)}},d("All users")),s().createElement(u.Button,{block:!0,type:"dashed",icon:s().createElement(r.PlusOutlined,null),onClick:function(){return eO("create")}},d("New department")),s().createElement("div",{className:eF},eA.length?s().createElement(u.Tree.DirectoryTree,{blockNode:!0,showIcon:!1,expandAction:!1,treeData:eA,selectedKeys:P?[P.id]:[],expandedKeys:$,onExpand:function(e){return V(O(e))},onSelect:function(e){I(function e(t,n){if(null==n)return null;var r=!0,a=!1,l=void 0;try{for(var o,i=t[Symbol.iterator]();!(r=(o=i.next()).done);r=!0){var u=o.value;if(u.id===n)return u;var c=e(u.children||[],n);if(c)return c}}catch(e){a=!0,l=e}finally{try{r||null==i.return||i.return()}finally{if(a)throw l}}return null}(ew,e[0])),W(null)}}):s().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE}))),s().createElement(u.Flex,{vertical:!0,flex:1,gap:k.marginSM,style:{borderInlineStart:"".concat(k.lineWidth,"px ").concat(k.lineType," ").concat(k.colorSplit),paddingInlineStart:k.paddingLG,minWidth:0,minHeight:0,overflow:"hidden"}},s().createElement(u.Flex,{vertical:!0,gap:k.marginSM,style:{flex:"0 0 auto"}},s().createElement(u.Typography.Title,{level:4,style:{margin:0}},L?d("Search results"):d((null==P?void 0:P.title)||"All users")),s().createElement(u.Flex,{justify:"space-between",align:"center",wrap:"wrap",gap:k.marginSM},s().createElement(u.Space,{wrap:!0},s().createElement(a.CollectionFilter,{collection:C,t:d,onChange:function(e){ep(1),ed(e)}})),s().createElement(u.Space,{wrap:!0},s().createElement(u.Button,{icon:s().createElement(r.ReloadOutlined,null),onClick:function(){return eE.refresh()}},d("Refresh")),P?s().createElement(s().Fragment,null,s().createElement(u.Button,{icon:s().createElement(r.UserDeleteOutlined,null),disabled:!X.length,onClick:function(){return eD(X)}},d("Remove")),s().createElement(u.Button,{type:"primary",icon:s().createElement(r.UserAddOutlined,null),onClick:ek},d("Add members"))):null))),s().createElement(a.Table,{rowKey:"id",showIndex:!1,className:eT,loading:eE.loading,dataSource:eB,columns:eP,scroll:{x:"max-content",y:"100%"},rowSelection:P?{selectedRowKeys:X,onChange:Y}:void 0,pagination:!!ez&&{current:ef,pageSize:eb,total:ez,showTotal:function(e){return d("Total {{count}} members",{count:e})},onChange:function(e,t){ep(e),ey(t)}}}))))}},488:function(e,t,n){n.d(t,{k:function(){return a}});var r=n(694);function a(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(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}({ns:["@nocobase/plugin-departments","departments","client"],nsMode:"fallback"},n))}}},836:function(e,t,n){function r(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}function a(e){var t=new Map,n=[];return e.forEach(function(e){var n,a;t.set(e.id,(n=r({},e),a=a={children:[]},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(a)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(a)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(a,e))}),n))}),t.forEach(function(e){if(null!=e.parentId&&t.has(e.parentId)){var r,a;null==(a=t.get(e.parentId))||null==(r=a.children)||r.push(e);return}n.push(e)}),t.forEach(function(e){var t;(null==(t=e.children)?void 0:t.length)||delete e.children}),n}n.d(t,{RQ:function(){return a},W6:function(){return function e(t){return t.map(function(t){var n,a=r({},t);return(null==(n=t.children)?void 0:n.length)?a.children=e(t.children):!1===t.isLeaf?a.children=[]:delete a.children,a})}},nZ:function(){return function e(t){if(!t)return"";var n=t.title||"";return t.parent?"".concat(e(t.parent)," / ").concat(n):n}}})}}]);
|