@nocobase/plugin-users 1.5.0-alpha.5 → 1.5.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,4 +7,8 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("@formily/shared"),require("@nocobase/plugin-acl/client"),require("@nocobase/utils/client"),require("@formily/core"),require("@nocobase/client"),require("antd"),require("@formily/react"),require("react"),require("@emotion/css")):"function"==typeof define&&define.amd?define("@nocobase/plugin-users",["react-i18next","@formily/shared","@nocobase/plugin-acl/client","@nocobase/utils/client","@formily/core","@nocobase/client","antd","@formily/react","react","@emotion/css"],t):"object"==typeof exports?exports["@nocobase/plugin-users"]=t(require("react-i18next"),require("@formily/shared"),require("@nocobase/plugin-acl/client"),require("@nocobase/utils/client"),require("@formily/core"),require("@nocobase/client"),require("antd"),require("@formily/react"),require("react"),require("@emotion/css")):e["@nocobase/plugin-users"]=t(e["react-i18next"],e["@formily/shared"],e["@nocobase/plugin-acl/client"],e["@nocobase/utils/client"],e["@formily/core"],e["@nocobase/client"],e.antd,e["@formily/react"],e.react,e["@emotion/css"])}(self,function(e,t,o,n,r,i,c,a,s,l){return function(){"use strict";var u={964:function(e){e.exports=l},563:function(e){e.exports=r},505:function(e){e.exports=a},875:function(e){e.exports=t},772:function(e){e.exports=i},465:function(e){e.exports=o},584:function(e){e.exports=n},721:function(e){e.exports=c},156:function(e){e.exports=s},238:function(t){t.exports=e}},p={};function m(e){var t=p[e];if(void 0!==t)return t.exports;var o=p[e]={exports:{}};return u[e](o,o.exports,m),o.exports}m.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return m.d(t,{a:t}),t},m.d=function(e,t){for(var o in t)m.o(t,o)&&!m.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},m.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},m.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var d={};m.r(d),m.d(d,{default:function(){return eu}});var f=m("772"),y=m("584"),x=m("156"),v=m.n(x),b=m("721"),h=m("505"),g=m("563"),C=m("964"),A=m("875");function w(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var P={name:"users",fields:[{name:"id",type:"bigInt",autoIncrement:!0,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-read-pretty":!0},interface:"id"},{interface:"input",type:"string",name:"nickname",uiSchema:{type:"string",title:'{{t("Nickname")}}',"x-component":"Input"}},{interface:"input",type:"string",name:"username",unique:!0,uiSchema:{type:"string",title:'{{t("Username")}}',"x-component":"Input","x-validator":{username:!0},required:!0}},{interface:"email",type:"string",name:"email",unique:!0,uiSchema:{type:"string",title:'{{t("Email")}}',"x-component":"Input","x-validator":"email",required:!0}},{interface:"phone",type:"string",name:"phone",unique:!0,uiSchema:{type:"string",title:'{{t("Phone")}}',"x-component":"Input",required:!0}},{interface:"password",type:"password",name:"password",hidden:!0,uiSchema:{type:"string",title:'{{t("Password")}}',"x-component":"Password"}},{interface:"m2m",type:"belongsToMany",name:"roles",target:"roles",foreignKey:"userId",otherKey:"roleName",onDelete:"CASCADE",sourceKey:"id",targetKey:"name",through:"rolesUsers",uiSchema:{type:"array",title:'{{t("Roles")}}',"x-component":"AssociationField","x-component-props":{multiple:!0,fieldNames:{label:"title",value:"name"}}}}]},S={type:"object",properties:{block1:{type:"void","x-component":"CardItem","x-component-props":{heightMode:"fullHeight"},"x-decorator":"TableBlockProvider","x-decorator-props":{dataSource:"main",rowKey:"id",collection:"users",action:"list",params:{pageSize:20}},"x-use-decorator-props":"useTableBlockDecoratorProps",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},refresh:{type:"void",title:'{{ t("Refresh") }}',"x-action":"refresh","x-component":"Action","x-component-props":{icon:"ReloadOutlined"},"x-use-component-props":"useRefreshActionProps"},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{confirm:{title:"{{t('Delete users')}}",content:"{{t('Are you sure you want to delete it?')}}"},icon:"DeleteOutlined"},"x-use-component-props":"useBulkDestroyActionProps"},create:{type:"void",title:'{{t("Add new")}}',"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2",title:'{{t("Add user")}}',properties:{nickname:{"x-component":"CollectionField","x-decorator":"FormItem"},username:{"x-component":"CollectionField","x-decorator":"FormItem"},email:{title:'{{t("Email")}}',"x-component":"Input","x-validator":"email","x-decorator":"FormItem",required:!1},phone:{title:'{{t("Phone")}}',"x-component":"Input","x-decorator":"FormItem",required:!1},password:{"x-component":"CollectionField","x-decorator":"FormItem",required:!0},roles:{"x-component":"CollectionField","x-collection-field":"users.roles","x-decorator":"FormItem"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useSubmitActionProps"}}}}}}}}},table:{type:"array","x-uid":"input","x-component":"TableV2","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},"x-use-component-props":"useTableBlockProps",properties:{column1:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{nickname:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{email:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",title:'{{t("Roles")}}',properties:{roles:{type:"array","x-component":"CollectionField","x-component-props":{mode:"Tag",enableLink:!1,ellipsis:!0},"x-read-pretty":!0,"x-collection-field":"users.roles"}}},column5:{type:"void",title:'{{t("Actions")}}',"x-component":"TableV2.Column","x-decorator":"TableV2.Column.ActionBar",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{update:{type:"void",title:'{{t("Edit profile")}}',"x-decorator":"ACLActionProvider","x-acl-action":"users:update","x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",title:'{{t("Edit profile")}}',properties:{nickname:{"x-component":"CollectionField","x-decorator":"FormItem"},username:{"x-component":"CollectionField","x-decorator":"FormItem"},email:{title:'{{t("Email")}}',"x-component":"Input","x-validator":"email","x-decorator":"FormItem",required:!1},phone:{title:'{{t("Phone")}}',"x-component":"Input","x-decorator":"FormItem",required:!1},roles:{"x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":"users.roles"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useSubmitActionProps"}}}}}}},changePassword:{type:"void",title:'{{t("Change password")}}',"x-decorator":"ACLActionProvider","x-acl-action":"users:update","x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",title:'{{t("Change password")}}',properties:{password:{"x-component":"CollectionField","x-component-props":{component:"PasswordField"},"x-decorator":"FormItem",required:!0},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useSubmitActionProps"}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-acl-action":"users:destroy","x-action":"destroy","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}},"x-use-component-props":"useDestroyActionProps"}}}}}}}}}}},F={type:"object","x-decorator":"UsersSettingsProvider",properties:{usersSettings:{type:"void","x-component":"CardItem","x-decorator":"UsersSettingsProvider",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{enableEditProfile:{type:"string","x-component":"Checkbox","x-decorator":"FormItem",default:!0,"x-content":'{{t("Allow edit profile")}}'},enableChangePassword:{type:"string","x-component":"Checkbox","x-decorator":"FormItem",default:!0,"x-content":'{{t("Allow change password")}}'}}},footer:{type:"void","x-component":"div","x-component-props":{style:{float:"right"}},properties:{submit:{title:"Submit","x-component":"Action","x-use-component-props":"useSubmitActionProps"}}}}}}},O=function(){var e;return{type:"void",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:(w(e={},(0,A.uid)(),{type:"void",title:'{{ t("Filter") }}',"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}),w(e,"actions",{type:"void","x-component":"Space",properties:{remove:{type:"void",title:'{{t("Remove")}}',"x-component":"Action","x-component-props":{icon:"MinusOutlined",confirm:{title:"{{t('Remove')}}",content:"{{t('Are you sure you want to remove these users?')}}"},style:{marginRight:8},useAction:"{{ useBulkRemoveUsers }}"}},create:{type:"void",title:'{{t("Add users")}}',"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2",title:'{{t("Add users")}}',properties:{resource:{type:"void","x-decorator":"FormItem","x-component":"RoleUsersProvider",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{username:{$includes:""}},{nickname:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}}},table:{type:"void","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox",onChange:"{{ handleSelectRoleUsers }}"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{username:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},nickname:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{nickname:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},phone:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{phone:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},email:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{email:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}}}}}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useAddRoleUsers }}"}}}}}}}}}}),e)},table:{type:"void","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{username:{type:"void",title:'{{t("Username")}}',"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},nickname:{type:"void",title:'{{t("Nickname")}}',"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{nickname:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{remove:{type:"void",title:'{{ t("Remove") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Remove user')}}",content:"{{t('Are you sure you want to remove it?')}}"},useAction:"{{ useRemoveUser }}"}}}}}}}}}}},k=m("238");function R(){return(0,k.useTranslation)(["users","client"],{nsMode:"fallback"})}var T=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t="ABCDEFGHIJKLMNOPQRSTUVWXYZ",o="abcdefghijklmnopqrstuvwxyz",n="0123456789",r="!#$%^&*-_+=",i=t+o+n+r,c=new Uint32Array(e);crypto.getRandomValues(c);var a="";a+=t.charAt(c[0]%t.length),a+=o.charAt(c[1]%o.length),a+=n.charAt(c[2]%n.length),a+=r.charAt(c[3]%r.length);for(var s=4;s<e;s++){var l=c[s]%i.length;a+=i.charAt(l)}return a=a[0]+a.slice(1).split("").sort(function(){return Math.random()-.5}).join("")};function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=Array(t);o<t;o++)n[o]=e[o];return n}var E=function(){var e,t,o=R().t,n=(0,h.useField)();var r=(e=v().useState(!1),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o,n,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i=[],c=!0,a=!1;try{for(r=r.call(e);!(c=(o=r.next()).done)&&(i.push(o.value),!t||i.length!==t);c=!0);}catch(e){a=!0,n=e}finally{try{!c&&null!=r.return&&r.return()}finally{if(a)throw n}}return i}}(e,2)||function(e,t){if(e){if("string"==typeof e)return j(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);if("Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o)return Array.from(o);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return j(e,t)}}(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.")}()),i=r[0],c=r[1],a=(0,f.useActionContext)();return(0,x.useEffect)(function(){if(!a.visible)n.reset()},[n,a.visible]),v().createElement(b.Row,{gutter:10},v().createElement(b.Col,{span:18},v().createElement(f.Password,{checkStrength:!0,visibilityToggle:{visible:i,onVisibleChange:c},value:n.value,onChange:function(e){return n.setValue(e.target.value)},autoComplete:"off"})),v().createElement(b.Col,{span:4},v().createElement(b.Button,{onClick:function(){n.setValue(T()),c(!0)}},o("Random password"))))};function D(e,t,o,n,r,i,c){try{var a=e[i](c),s=a.value}catch(e){o(e);return}a.done?t(s):Promise.resolve(s).then(n,r)}function q(e){return function(){var t=this,o=arguments;return new Promise(function(n,r){var i=e.apply(t,o);function c(e){D(i,n,r,c,a,"next",e)}function a(e){D(i,n,r,c,a,"throw",e)}c(void 0)})}}function I(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),n.forEach(function(t){var n,r,i;n=e,r=t,i=o[t],r in n?Object.defineProperty(n,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[r]=i})}return e}function V(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o.push.apply(o,n)}return o})(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}function M(e,t){var o,n,r,i,c={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(o)throw TypeError("Generator is already executing.");for(;c;)try{if(o=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return c.label++,{value:i[1],done:!1};case 5:c.label++,n=i[1],i=[0];continue;case 7:i=c.ops.pop(),c.trys.pop();continue;default:if(!(r=(r=c.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){c=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){c.label=i[1];break}if(6===i[0]&&c.label<r[1]){c.label=r[1],r=i;break}if(r&&c.label<r[2]){c.label=r[2],c.ops.push(i);break}r[2]&&c.ops.pop(),c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e],n=0}finally{o=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function U(){var e,t,o=(e=["\n .ant-tabs-nav {\n margin-bottom: 0px;\n }\n "],!t&&(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return U=function(){return o},o}var B=function(){var e=(0,f.useActionContext)().setVisible;return{type:"default",onClick:function(){e(!1)}}},K=function(){var e=(0,f.useActionContext)().setVisible,t=b.App.useApp().message,o=(0,h.useForm)(),n=(0,f.useDataBlockResource)(),r=(0,f.useDataBlockRequest)().runAsync,i=R().t,c=(0,f.useCollection)();return{type:"primary",onClick:function(){return q(function(){var a;return M(this,function(s){switch(s.label){case 0:return[4,o.submit()];case 1:if(s.sent(),!(a=o.values)[c.filterTargetKey])return[3,3];return[4,n.update({values:a,filterByTk:a[c.filterTargetKey]})];case 2:return s.sent(),[3,5];case 3:return[4,n.create({values:a})];case 4:s.sent(),s.label=5;case 5:return[4,r()];case 6:return s.sent(),t.success(i("Saved successfully")),e(!1),[2]}})})()}}},_=function(){var e=(0,f.useCollectionRecordData)();return{form:(0,x.useMemo)(function(){return(0,g.createForm)({initialValues:e})},[e])}},L=function(){var e=R().t,t=(0,f.useSchemaComponentContext)();return v().createElement(f.SchemaComponentContext.Provider,{value:V(I({},t),{designable:!1})},v().createElement(f.SchemaComponent,{schema:S,scope:{t:e,useCancelActionProps:B,useSubmitActionProps:K,useEditFormProps:_},components:{PasswordField:E}}))},N=(0,x.createContext)({}),$=function(e){var t=(0,f.useRequest)({url:"systemSettings:get/1"});return v().createElement(N.Provider,{value:t},e.children)},z=function(){var e=R().t,t=(0,f.useSchemaComponentContext)(),o=(0,h.useForm)();return v().createElement(f.SchemaComponentContext.Provider,{value:V(I({},t),{designable:!1})},v().createElement(f.SchemaComponent,{schema:F,scope:{t:e,useFormBlockProps:function(){var e,t=(0,x.useContext)(N),n=(null==t?void 0:null===(e=t.data)||void 0===e?void 0:e.data)||{},r=n.enableChangePassword,i=n.enableEditProfile;return(0,x.useEffect)(function(){null==o||o.setValues({enableChangePassword:!1!==r,enableEditProfile:!1!==i})},[t]),{form:o}},useSubmitActionProps:function(){var t=(0,f.useAPIClient)(),o=(0,h.useForm)();return{type:"primary",onClick:function(){return q(function(){var n;return M(this,function(r){switch(r.label){case 0:return[4,o.submit()];case 1:return r.sent(),n=o.values,[4,t.request({url:"systemSettings:update/1",data:n,method:"POST"})];case 2:return r.sent(),b.message.success(e("Saved successfully")),window.location.reload(),[2]}})})()}}}},components:{UsersSettingsProvider:$}}))},G=function(){var e=R().t;return v().createElement(b.Tabs,{defaultActiveKey:"usersManager",type:"card",className:(0,C.css)(U()),items:[{label:e("Users manager"),key:"usersManager",children:v().createElement(L,null)},{label:e("Settings"),key:"usersSettings",children:v().createElement(z,null)}]})},H=m("465"),J=m.n(H),Q=function(){var e,t,o=(0,x.useContext)(f.CollectionContext),n=(0,f.useFilterFieldOptions)(o.fields),r=(0,f.useResourceActionContext)();return(0,f.useFilterFieldProps)({options:n,params:(null===(t=r.state)||void 0===t?void 0:null===(e=t.params)||void 0===e?void 0:e[0])||r.params,service:r})};function W(e,t,o,n,r,i,c){try{var a=e[i](c),s=a.value}catch(e){o(e);return}a.done?t(s):Promise.resolve(s).then(n,r)}function X(e){return function(){var t=this,o=arguments;return new Promise(function(n,r){var i=e.apply(t,o);function c(e){W(i,n,r,c,a,"next",e)}function a(e){W(i,n,r,c,a,"throw",e)}c(void 0)})}}function Y(e,t){var o,n,r,i,c={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(o)throw TypeError("Generator is already executing.");for(;c;)try{if(o=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return c.label++,{value:i[1],done:!1};case 5:c.label++,n=i[1],i=[0];continue;case 7:i=c.ops.pop(),c.trys.pop();continue;default:if(!(r=(r=c.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){c=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){c.label=i[1];break}if(6===i[0]&&c.label<r[1]){c.label=r[1],r=i;break}if(r&&c.label<r[2]){c.label=r[2],c.ops.push(i);break}r[2]&&c.ops.pop(),c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e],n=0}finally{o=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}var Z=function(){var e=(0,f.useAPIClient)(),t=(0,x.useContext)(H.RolesManagerContext).role,o=(0,f.useRecord)(),n=(0,f.useResourceActionContext)().refresh;return{run:function(){return X(function(){return Y(this,function(r){switch(r.label){case 0:return[4,e.resource("roles.users",null==t?void 0:t.name).remove({values:[o.id]})];case 1:return r.sent(),n(),[2]}})})()}}},ee=function(){var e=R().t,t=b.App.useApp().message,o=(0,f.useAPIClient)(),n=(0,f.useResourceActionContext)(),r=n.state,i=n.setState,c=n.refresh,a=(0,x.useContext)(H.RolesManagerContext).role;return{run:function(){return X(function(){var n;return Y(this,function(s){switch(s.label){case 0:if(!(null==(n=null==r?void 0:r.selectedRowKeys)?void 0:n.length))return t.warning(e("Please select users")),[2];return[4,o.resource("roles.users",null==a?void 0:a.name).remove({values:n})];case 1:return s.sent(),null==i||i({selectedRowKeys:[]}),c(),[2]}})})()}}},et=function(e){var t=(0,x.useContext)(H.RolesManagerContext).role;return v().createElement(f.ResourceActionProvider,{collection:P,request:{resource:"users",action:"listExcludeRole",params:{roleName:null==t?void 0:t.name}}},e.children)},eo=function(){var e=R().t,t=(0,x.useContext)(H.RolesManagerContext).role,o=(0,f.useRequest)({resource:"roles.users",resourceOf:null==t?void 0:t.name,action:"list"},{ready:!!t});(0,x.useEffect)(function(){o.run()},[t]);var n=(0,x.useRef)([]),r=(0,x.useMemo)(function(){return O()},[t]);return v().createElement(f.ResourceActionContext.Provider,{value:function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),n.forEach(function(t){var n,r,i;n=e,r=t,i=o[t],r in n?Object.defineProperty(n,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[r]=i})}return e}({},o)},v().createElement(f.CollectionProvider_deprecated,{collection:P},v().createElement(f.SchemaComponent,{schema:r,components:{RoleUsersProvider:et},scope:{useBulkRemoveUsers:ee,useRemoveUser:Z,handleSelectRoleUsers:function(e,t){n.current=t},useAddRoleUsers:function(){var e=(0,x.useContext)(H.RolesManagerContext).role,t=(0,f.useAPIClient)(),o=(0,f.useActionContext)().setVisible,r=(0,f.useResourceActionContext)().refresh;return{run:function(){return X(function(){return Y(this,function(i){switch(i.label){case 0:return[4,t.resource("roles.users",null==e?void 0:e.name).add({values:n.current.map(function(e){return e.id})})];case 1:return i.sent(),n.current=[],o(!1),r(),[2]}})})()}}},useFilterActionProps:Q,t:e}})))};function en(e,t,o,n,r,i,c){try{var a=e[i](c),s=a.value}catch(e){o(e);return}a.done?t(s):Promise.resolve(s).then(n,r)}function er(e,t,o){return(er=el()?Reflect.construct:function(e,t,o){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(e,n));return o&&ea(r,o.prototype),r}).apply(null,arguments)}function ei(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ec(e){return(ec=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ea(e,t){return(ea=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function es(e){var t="function"==typeof Map?new Map:void 0;return(es=function(e){var o;if(null===e||(o=e,-1===Function.toString.call(o).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 er(e,arguments,ec(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ea(n,e)})(e)}function el(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(el=function(){return!!e})()}var eu=function(e){var t,o,n;function r(){var e,t,o;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,r),e=this,t=r,o=arguments,t=ec(t),function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,el()?Reflect.construct(t,o||[],ec(e).constructor):t.apply(e,o))}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ea(e,t)}(r,e),t=r,o=[{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var o,n,r,i,c={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(o)throw TypeError("Generator is already executing.");for(;c;)try{if(o=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return c.label++,{value:i[1],done:!1};case 5:c.label++,n=i[1],i=[0];continue;case 7:i=c.ops.pop(),c.trys.pop();continue;default:if(!(r=(r=c.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){c=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){c.label=i[1];break}if(6===i[0]&&c.label<r[1]){c.label=r[1],r=i;break}if(r&&c.label<r[2]){c.label=r[2],c.ops.push(i);break}r[2]&&c.ops.pop(),c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e],n=0}finally{o=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}(this,function(e){return t.app.pluginSettingsManager.add("users-permissions",{title:(0,y.tval)("Users & Permissions",{ns:"users"}),icon:"TeamOutlined"}),t.app.pluginSettingsManager.add("users-permissions.users",{title:(0,y.tval)("Users"),icon:"UserOutlined",Component:G,aclSnippet:"pm.users"}),t.app.pm.get(J()).rolesManager.add("users",{title:(0,y.tval)("Users"),Component:eo}),[2]})},function(){var t=this,o=arguments;return new Promise(function(n,r){var i=e.apply(t,o);function c(e){en(i,n,r,c,a,"next",e)}function a(e){en(i,n,r,c,a,"throw",e)}c(void 0)})})()}}],ei(t.prototype,o),r}(es(f.Plugin));return d}()});
10
+ (function(r,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("@nocobase/client"),require("@nocobase/utils/client"),require("react/jsx-runtime"),require("react"),require("antd"),require("@formily/react"),require("@formily/core"),require("@emotion/css"),require("@formily/shared"),require("react-i18next"),require("@nocobase/plugin-acl/client")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","@nocobase/utils/client","react/jsx-runtime","react","antd","@formily/react","@formily/core","@emotion/css","@formily/shared","react-i18next","@nocobase/plugin-acl/client"],e):(r=typeof globalThis!="undefined"?globalThis:r||self,e(r["@nocobase/plugin-users"]={},r["@nocobase/client"],r["@nocobase/utils"],r.jsxRuntime,r.react,r.antd,r["@formily/react"],r["@formily/core"],r["@emotion/css"],r["@formily/shared"],r["react-i18next"],r["@nocobase/plugin-acl"]))})(this,function(r,e,p,a,u,x,v,h,y,b,D,A){"use strict";var W=Object.defineProperty,X=Object.defineProperties;var Y=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var Z=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable;var k=(r,e,p)=>e in r?W(r,e,{enumerable:!0,configurable:!0,writable:!0,value:p}):r[e]=p,g=(r,e)=>{for(var p in e||(e={}))Z.call(e,p)&&k(r,p,e[p]);if(T)for(var p of T(e))ee.call(e,p)&&k(r,p,e[p]);return r},w=(r,e)=>X(r,Y(e));var f=(r,e,p)=>new Promise((a,u)=>{var x=y=>{try{h(p.next(y))}catch(b){u(b)}},v=y=>{try{h(p.throw(y))}catch(b){u(b)}},h=y=>y.done?a(y.value):Promise.resolve(y.value).then(x,v);h((p=p.apply(r,e)).next())});const P={name:"users",fields:[{name:"id",type:"bigInt",autoIncrement:!0,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-read-pretty":!0},interface:"id"},{interface:"input",type:"string",name:"nickname",uiSchema:{type:"string",title:'{{t("Nickname")}}',"x-component":"Input"}},{interface:"input",type:"string",name:"username",unique:!0,uiSchema:{type:"string",title:'{{t("Username")}}',"x-component":"Input","x-validator":{username:!0},required:!0}},{interface:"email",type:"string",name:"email",unique:!0,uiSchema:{type:"string",title:'{{t("Email")}}',"x-component":"Input","x-validator":"email",required:!0}},{interface:"phone",type:"string",name:"phone",unique:!0,uiSchema:{type:"string",title:'{{t("Phone")}}',"x-component":"Input",required:!0}},{interface:"password",type:"password",name:"password",hidden:!0,uiSchema:{type:"string",title:'{{t("Password")}}',"x-component":"Password"}},{interface:"m2m",type:"belongsToMany",name:"roles",target:"roles",foreignKey:"userId",otherKey:"roleName",onDelete:"CASCADE",sourceKey:"id",targetKey:"name",through:"rolesUsers",uiSchema:{type:"array",title:'{{t("Roles")}}',"x-component":"AssociationField","x-component-props":{multiple:!0,fieldNames:{label:"title",value:"name"}}}}]},I={type:"object",properties:{block1:{type:"void","x-component":"CardItem","x-component-props":{heightMode:"fullHeight"},"x-decorator":"TableBlockProvider","x-decorator-props":{dataSource:"main",rowKey:"id",collection:"users",action:"list",params:{pageSize:20}},"x-use-decorator-props":"useTableBlockDecoratorProps",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},refresh:{type:"void",title:'{{ t("Refresh") }}',"x-action":"refresh","x-component":"Action","x-component-props":{icon:"ReloadOutlined"},"x-use-component-props":"useRefreshActionProps"},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{confirm:{title:"{{t('Delete users')}}",content:"{{t('Are you sure you want to delete it?')}}"},icon:"DeleteOutlined"},"x-use-component-props":"useBulkDestroyActionProps"},create:{type:"void",title:'{{t("Add new")}}',"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2",title:'{{t("Add user")}}',properties:{nickname:{"x-component":"CollectionField","x-decorator":"FormItem"},username:{"x-component":"CollectionField","x-decorator":"FormItem"},email:{title:'{{t("Email")}}',"x-component":"Input","x-validator":"email","x-decorator":"FormItem",required:!1},phone:{title:'{{t("Phone")}}',"x-component":"Input","x-decorator":"FormItem",required:!1},password:{"x-component":"CollectionField","x-decorator":"FormItem",required:!0},roles:{"x-component":"CollectionField","x-collection-field":"users.roles","x-decorator":"FormItem"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useSubmitActionProps"}}}}}}}}},table:{type:"array","x-uid":"input","x-component":"TableV2","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},"x-use-component-props":"useTableBlockProps",properties:{column1:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{nickname:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{email:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",title:'{{t("Roles")}}',properties:{roles:{type:"array","x-component":"CollectionField","x-component-props":{mode:"Tag",enableLink:!1,ellipsis:!0},"x-read-pretty":!0,"x-collection-field":"users.roles"}}},column5:{type:"void",title:'{{t("Actions")}}',"x-component":"TableV2.Column","x-decorator":"TableV2.Column.ActionBar",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{update:{type:"void",title:'{{t("Edit profile")}}',"x-decorator":"ACLActionProvider","x-acl-action":"users:update","x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",title:'{{t("Edit profile")}}',properties:{nickname:{"x-component":"CollectionField","x-decorator":"FormItem"},username:{"x-component":"CollectionField","x-decorator":"FormItem"},email:{title:'{{t("Email")}}',"x-component":"Input","x-validator":"email","x-decorator":"FormItem",required:!1},phone:{title:'{{t("Phone")}}',"x-component":"Input","x-decorator":"FormItem",required:!1},roles:{"x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":"users.roles"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useSubmitActionProps"}}}}}}},changePassword:{type:"void",title:'{{t("Change password")}}',"x-decorator":"ACLActionProvider","x-acl-action":"users:update","x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",title:'{{t("Change password")}}',properties:{password:{"x-component":"CollectionField","x-component-props":{component:"PasswordField"},"x-decorator":"FormItem",required:!0},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useSubmitActionProps"}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-acl-action":"users:destroy","x-action":"destroy","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}},"x-use-component-props":"useDestroyActionProps"}}}}}}}}}}},U={type:"object","x-decorator":"UsersSettingsProvider",properties:{usersSettings:{type:"void","x-component":"CardItem","x-decorator":"UsersSettingsProvider",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{enableEditProfile:{type:"string","x-component":"Checkbox","x-decorator":"FormItem",default:!0,"x-content":'{{t("Allow edit profile")}}'},enableChangePassword:{type:"string","x-component":"Checkbox","x-decorator":"FormItem",default:!0,"x-content":'{{t("Allow change password")}}'}}},footer:{type:"void","x-component":"div","x-component-props":{style:{float:"right"}},properties:{submit:{title:"Submit","x-component":"Action","x-use-component-props":"useSubmitActionProps"}}}}}}},q=()=>({type:"void",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{[b.uid()]:{type:"void",title:'{{ t("Filter") }}',"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},actions:{type:"void","x-component":"Space",properties:{remove:{type:"void",title:'{{t("Remove")}}',"x-component":"Action","x-component-props":{icon:"MinusOutlined",confirm:{title:"{{t('Remove')}}",content:"{{t('Are you sure you want to remove these users?')}}"},style:{marginRight:8},useAction:"{{ useBulkRemoveUsers }}"}},create:{type:"void",title:'{{t("Add users")}}',"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2",title:'{{t("Add users")}}',properties:{resource:{type:"void","x-decorator":"FormItem","x-component":"RoleUsersProvider",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{username:{$includes:""}},{nickname:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}}},table:{type:"void","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox",onChange:"{{ handleSelectRoleUsers }}"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{username:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},nickname:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{nickname:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},phone:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{phone:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},email:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{email:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}}}}}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useAddRoleUsers }}"}}}}}}}}}}}},table:{type:"void","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{username:{type:"void",title:'{{t("Username")}}',"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},nickname:{type:"void",title:'{{t("Nickname")}}',"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{nickname:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{remove:{type:"void",title:'{{ t("Remove") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Remove user')}}",content:"{{t('Are you sure you want to remove it?')}}"},useAction:"{{ useRemoveUser }}"}}}}}}}}}});function C(){return D.useTranslation(["users","client"],{nsMode:"fallback"})}const V=(t=10)=>{const o="ABCDEFGHIJKLMNOPQRSTUVWXYZ",n="abcdefghijklmnopqrstuvwxyz",s="0123456789",l="!#$%^&*-_+=",m=o+n+s+l,c=new Uint32Array(t);crypto.getRandomValues(c);let d="";d+=o.charAt(c[0]%o.length),d+=n.charAt(c[1]%n.length),d+=s.charAt(c[2]%s.length),d+=l.charAt(c[3]%l.length);for(let i=4;i<t;i++){const F=c[i]%m.length;d+=m.charAt(F)}return d=d[0]+d.slice(1).split("").sort(()=>Math.random()-.5).join(""),d},M=()=>{const{t}=C(),o=v.useField(),[n,s]=u.useState(!1),l=e.useActionContext();return u.useEffect(()=>{l.visible||o.reset()},[o,l.visible]),a.jsxs(x.Row,{gutter:10,children:[a.jsx(x.Col,{span:18,children:a.jsx(e.Password,{checkStrength:!0,visibilityToggle:{visible:n,onVisibleChange:s},value:o.value,onChange:m=>o.setValue(m.target.value),autoComplete:"off"})}),a.jsx(x.Col,{span:4,children:a.jsx(x.Button,{onClick:()=>{o.setValue(V()),s(!0)},children:t("Random password")})})]})},R=()=>{const{setVisible:t}=e.useActionContext();return{type:"default",onClick(){t(!1)}}},B=()=>{const{setVisible:t}=e.useActionContext(),{message:o}=x.App.useApp(),n=v.useForm(),s=e.useDataBlockResource(),{runAsync:l}=e.useDataBlockRequest(),{t:m}=C(),c=e.useCollection();return{type:"primary",onClick(){return f(this,null,function*(){yield n.submit();const i=n.values;i[c.filterTargetKey]?yield s.update({values:i,filterByTk:i[c.filterTargetKey]}):yield s.create({values:i}),yield l(),o.success(m("Saved successfully")),t(!1)})}}},E=()=>{const t=e.useCollectionRecordData();return{form:u.useMemo(()=>h.createForm({initialValues:t}),[t])}},K=()=>{const{t}=C(),o=e.useSchemaComponentContext();return a.jsx(e.SchemaComponentContext.Provider,{value:w(g({},o),{designable:!1}),children:a.jsx(e.SchemaComponent,{schema:I,scope:{t,useCancelActionProps:R,useSubmitActionProps:B,useEditFormProps:E},components:{PasswordField:M}})})},S=u.createContext({}),O=t=>{const o=e.useRequest({url:"systemSettings:get/1"});return a.jsx(S.Provider,{value:o,children:t.children})},j=()=>{const{t}=C(),o=e.useSchemaComponentContext(),n=v.useForm(),s=()=>{var i;const m=u.useContext(S),{enableChangePassword:c,enableEditProfile:d}=((i=m==null?void 0:m.data)==null?void 0:i.data)||{};return u.useEffect(()=>{n==null||n.setValues({enableChangePassword:c!==!1,enableEditProfile:d!==!1})},[m]),{form:n}},l=()=>{const m=e.useAPIClient(),c=v.useForm();return{type:"primary",onClick(){return f(this,null,function*(){yield c.submit();const i=c.values;yield m.request({url:"systemSettings:update/1",data:i,method:"POST"}),x.message.success(t("Saved successfully")),window.location.reload()})}}};return a.jsx(e.SchemaComponentContext.Provider,{value:w(g({},o),{designable:!1}),children:a.jsx(e.SchemaComponent,{schema:U,scope:{t,useFormBlockProps:s,useSubmitActionProps:l},components:{UsersSettingsProvider:O}})})},N=()=>{const{t}=C();return a.jsx(x.Tabs,{defaultActiveKey:"usersManager",type:"card",className:y.css`
11
+ .ant-tabs-nav {
12
+ margin-bottom: 0px;
13
+ }
14
+ `,items:[{label:t("Users manager"),key:"usersManager",children:a.jsx(K,{})},{label:t("Settings"),key:"usersSettings",children:a.jsx(j,{})}]})},L=()=>{var s,l;const t=u.useContext(e.CollectionContext),o=e.useFilterFieldOptions(t.fields),n=e.useResourceActionContext();return e.useFilterFieldProps({options:o,params:((l=(s=n.state)==null?void 0:s.params)==null?void 0:l[0])||n.params,service:n})},_=()=>{const t=e.useAPIClient(),{role:o}=u.useContext(A.RolesManagerContext),n=e.useRecord(),{refresh:s}=e.useResourceActionContext();return{run(){return f(this,null,function*(){yield t.resource("roles.users",o==null?void 0:o.name).remove({values:[n.id]}),s()})}}},z=()=>{const{t}=C(),{message:o}=x.App.useApp(),n=e.useAPIClient(),{state:s,setState:l,refresh:m}=e.useResourceActionContext(),{role:c}=u.useContext(A.RolesManagerContext);return{run(){return f(this,null,function*(){const i=s==null?void 0:s.selectedRowKeys;if(!(i!=null&&i.length)){o.warning(t("Please select users"));return}yield n.resource("roles.users",c==null?void 0:c.name).remove({values:i}),l==null||l({selectedRowKeys:[]}),m()})}}},H=t=>{const{role:o}=u.useContext(A.RolesManagerContext);return a.jsx(e.ResourceActionProvider,{collection:P,request:{resource:"users",action:"listExcludeRole",params:{roleName:o==null?void 0:o.name}},children:t.children})},$=()=>{const{t}=C(),{role:o}=u.useContext(A.RolesManagerContext),n=e.useRequest({resource:"roles.users",resourceOf:o==null?void 0:o.name,action:"list"},{ready:!!o});u.useEffect(()=>{n.run()},[o]);const s=u.useRef([]),l=(d,i)=>{s.current=i},m=()=>{const{role:d}=u.useContext(A.RolesManagerContext),i=e.useAPIClient(),{setVisible:F}=e.useActionContext(),{refresh:J}=e.useResourceActionContext();return{run(){return f(this,null,function*(){yield i.resource("roles.users",d==null?void 0:d.name).add({values:s.current.map(Q=>Q.id)}),s.current=[],F(!1),J()})}}},c=u.useMemo(()=>q(),[o]);return a.jsx(e.ResourceActionContext.Provider,{value:g({},n),children:a.jsx(e.CollectionProvider_deprecated,{collection:P,children:a.jsx(e.SchemaComponent,{schema:c,components:{RoleUsersProvider:H},scope:{useBulkRemoveUsers:z,useRemoveUser:_,handleSelectRoleUsers:l,useAddRoleUsers:m,useFilterActionProps:L,t}})})})};class G extends e.Plugin{load(){return f(this,null,function*(){this.app.pluginSettingsManager.add("users-permissions",{title:p.tval("Users & Permissions",{ns:"users"}),icon:"TeamOutlined"}),this.app.pluginSettingsManager.add("users-permissions.users",{title:p.tval("Users"),icon:"UserOutlined",Component:N,aclSnippet:"pm.users"}),this.app.pm.get(A).rolesManager.add("users",{title:p.tval("Users"),Component:$})})}}r.default=G,Object.defineProperties(r,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -10,17 +10,17 @@
10
10
  module.exports = {
11
11
  "react": "18.2.0",
12
12
  "antd": "5.12.8",
13
- "@nocobase/client": "1.5.0-alpha.5",
13
+ "@nocobase/client": "1.5.0-beta.2",
14
14
  "@formily/react": "2.3.0",
15
15
  "@formily/core": "2.3.0",
16
- "@nocobase/plugin-acl": "1.5.0-alpha.5",
16
+ "@nocobase/plugin-acl": "1.5.0-beta.2",
17
17
  "@emotion/css": "11.13.0",
18
- "@nocobase/utils": "1.5.0-alpha.5",
18
+ "@nocobase/utils": "1.5.0-beta.2",
19
19
  "react-i18next": "11.18.6",
20
- "@nocobase/database": "1.5.0-alpha.5",
21
- "@nocobase/server": "1.5.0-alpha.5",
22
- "@nocobase/plugin-user-data-sync": "1.5.0-alpha.5",
20
+ "@nocobase/database": "1.5.0-beta.2",
21
+ "@nocobase/server": "1.5.0-beta.2",
22
+ "@nocobase/plugin-user-data-sync": "1.5.0-beta.2",
23
23
  "lodash": "4.17.21",
24
24
  "@formily/shared": "2.3.2",
25
- "@nocobase/actions": "1.5.0-alpha.5"
25
+ "@nocobase/actions": "1.5.0-beta.2"
26
26
  };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName.zh-CN": "用户",
5
5
  "description": "Provides basic user model, as well as created by and updated by fields.",
6
6
  "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。",
7
- "version": "1.5.0-alpha.5",
7
+ "version": "1.5.0-beta.2",
8
8
  "license": "AGPL-3.0",
9
9
  "main": "./dist/server/index.js",
10
10
  "homepage": "https://docs.nocobase.com/handbook/users",
@@ -25,7 +25,7 @@
25
25
  "@nocobase/test": "1.x",
26
26
  "@nocobase/utils": "1.x"
27
27
  },
28
- "gitHead": "8d24e8d2c0f3f57ceaa271438fd93db2b4150011",
28
+ "gitHead": "8a9c29fdac5c6295dcc7abf00c3fa81bd9e01a36",
29
29
  "keywords": [
30
30
  "Users & permissions"
31
31
  ]