@tachybase/plugin-department 1.6.14 → 1.6.16
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.
- package/dist/client/index.js +1 -1
- package/dist/externalVersion.js +3 -3
- package/package.json +4 -4
package/dist/client/index.js
CHANGED
|
@@ -9,4 +9,4 @@
|
|
|
9
9
|
.ant-tree-node-content-wrapper {
|
|
10
10
|
overflow: hidden;
|
|
11
11
|
}
|
|
12
|
-
`,children:c!=null&&c.length?s.jsx(A.Tree.DirectoryTree,{loadData:i,treeData:c,loadedKeys:u,onSelect:b,selectedKeys:[o==null?void 0:o.id],onExpand:F,onLoad:C,expandedKeys:g,expandAction:!1,showIcon:!1,fieldNames:{key:"id"}}):s.jsx(A.Empty,{image:A.Empty.PRESENTED_IMAGE_SIMPLE})})},Te=({node:e,setVisible:t,setDrawer:o})=>{const{t:r}=K(),{refreshAsync:a}=n.useResourceActionContext(),{setLoadedKeys:c,expandedKeys:p,setExpandedKeys:i}=W(),{modal:u,message:l}=A.App.useApp(),y=n.useAPIClient(),g=()=>{u.confirm({title:r("Delete department"),content:r("Are you sure you want to delete it?"),onOk:()=>I(null,null,function*(){yield y.resource("departments").destroy({filterByTk:e.id}),l.success(r("Deleted successfully")),i(C=>C.filter(v=>v!==e.id));const F=[...p];c([]),i([]),yield a(),i(F)})})},h=F=>{o({schema:F,node:e}),t(!0)},b=({key:F,domeEvent:C})=>{switch(C==null||C.stopPropagation(),F){case"new-sub":h(Pe);break;case"edit":h(Fe);break;case"delete":g()}};return s.jsxs("div",{style:{display:"flex",justifyContent:"space-between",overflow:"hidden"},children:[s.jsx("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title}),s.jsx(A.Dropdown,{menu:{items:[{label:r("New sub department"),key:"new-sub"},{label:r("Edit department"),key:"edit"},{label:r("Delete department"),key:"delete"}],onClick:b},children:s.jsx("div",{style:{marginLeft:"15px"},children:s.jsx(z.MoreOutlined,{})})})]})};Q.Item=Te;const Ie=()=>{const e=w.useForm(),t=w.useField(),{setVisible:o}=n.useActionContext(),{refreshAsync:r}=n.useResourceActionContext(),a=n.useAPIClient(),{expandedKeys:c,setLoadedKeys:p,setExpandedKeys:i}=W();return{run(){return I(this,null,function*(){try{yield e.submit(),t.data=t.data||{},t.data.loading=!0,yield a.resource("departments").create({values:e.values}),o(!1),yield e.reset(),t.data.loading=!1;const l=[...c];p([]),i([]),yield r(),i(l)}catch(l){t.data&&(t.data.loading=!1)}})}}},ke=()=>{const e=w.useField(),t=w.useForm(),{setVisible:o}=n.useActionContext(),{refreshAsync:r}=n.useResourceActionContext(),a=n.useAPIClient(),{id:c}=n.useRecord(),{expandedKeys:p,setLoadedKeys:i,setExpandedKeys:u}=W(),{department:l,setDepartment:y}=V();return{run(){return I(this,null,function*(){yield t.submit(),e.data=e.data||{},e.data.loading=!0;try{yield a.resource("departments").update({filterByTk:c,values:t.values}),y(f({department:l},t.values)),o(!1),yield t.reset();const h=[...p];i([]),u([]),yield r(),u(h)}catch(h){console.log(h)}finally{e.data.loading=!1}})}}},Me=()=>{const{t:e}=K(),[t,o]=d.useState(!1),[r,a]=d.useState({}),{department:c,setDepartment:p}=V(),{token:i}=A.theme.useToken(),l=_({label:({node:g})=>s.jsx(Q.Item,{node:g,setVisible:o,setDrawer:a})}),y=r.schema||{};return s.jsx(n.SchemaComponentOptions,{scope:{useCreateDepartment:Ie,useUpdateDepartment:ke},children:s.jsxs(fe,{value:l,children:[s.jsxs(A.Row,{children:[s.jsx(we,{}),s.jsx(A.Button,{type:"text",icon:s.jsx(z.UserOutlined,{}),style:{textAlign:"left",marginBottom:"5px",background:c?"":i.colorBgTextHover},onClick:()=>{p(null)},block:!0,children:e("All users")}),s.jsx(ge,{})]}),s.jsx(A.Divider,{style:{margin:"12px 0"}}),s.jsx(Q,{}),s.jsx(n.ActionContextProvider,{value:{visible:t,setVisible:o},children:s.jsx(n.RecordProvider,{record:r.node||{},children:s.jsx(n.SchemaComponent,{schema:y,components:{DepartmentOwnersField:Ae}})})})]})})},Ke={type:"object",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form",title:'{{t("Add members")}}',properties:{resource:{type:"void","x-decorator":"FormItem","x-component":"ResourceActionProvider","x-component-props":{collection:"users",request:{resource:"users",action:"listExcludeDept",params:{departmentId:"{{ department?.id }}"}}},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:"{{ handleSelect }}"},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:"{{ useAddMembersAction }}"}}}}}}}};function Oe(){const{department:e}=V(),{refresh:t}=n.useResourceActionContext(),o=d.useRef([]),r=n.useAPIClient();return{department:e,useAddMembersAction:()=>({run(){return I(this,null,function*(){const i=o.current;i!=null&&i.length&&(yield r.resource("departments.members",e.id).add({values:i}),o.current=[],t())})}}),handleSelect:p=>{o.current=p}}}const Ee=()=>{const{department:e,useAddMembersAction:t,handleSelect:o}=Oe();return s.jsx(n.SchemaComponent,{schema:Ke,scope:{useAddMembersAction:t,department:e,handleSelect:o}})},Ve=()=>{const{setDepartment:e}=V(),o=w.useField().value||[],r=o.reduce((a,c)=>(a[c.id]=c,a),{});return s.jsx(n.EllipsisWithTooltip,{ellipsis:!0,children:o.map((a,c)=>s.jsxs("span",{children:[s.jsx("a",{onClick:p=>{p.preventDefault(),e(r[a.id])},children:j(a)}),c!==o.length-1?s.jsx("span",{style:{marginRight:4,color:"#aaa"},children:","}):""]},c))})},Ne=(e,t,o)=>{const r=t?{}:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},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"},showChildren:{type:"boolean","x-component":"Select",enum:[{label:L("Only display direct members of the department"),value:!1},{label:L("Show all members"),value:!0}],"x-component-props":{defaultValue:!1,onChange:o},"x-align":"left"},actions:{type:"void","x-component":"MemberActions"}}}},a=e?{isOwner:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column","x-component-props":{style:{minWidth:100}},title:L("Owner"),properties:{isOwner:{type:"boolean","x-component":"IsOwnerField"}}}}:{},c=e?{remove:{type:"void","x-component":"RowRemoveAction"}}:{};return{type:"void",properties:S(f({},r),{table:{type:"void","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ useMembersDataSource }}",pagination:{showTotal:"{{ useShowTotal }}"}},properties:S(f({nickname:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{nickname:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},username:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},departments:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{departments:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},mainDepartment:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{mainDepartment:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}}},a),{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}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:f({update:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2",title:'{{t("Configure")}}',properties:{departments:{title:'{{t("Departments")}}',"x-decorator":"FormItem","x-component":"UserDepartmentsField"}}}}}},c)}}}})}})}},qe=()=>{var o;const{department:e}=V(),t=(o=n.useRecord().departments)==null?void 0:o.find(r=>(r==null?void 0:r.id)===(e==null?void 0:e.id));return s.jsx(n.Checkbox.ReadPretty,{value:t==null?void 0:t.departmentsUsers.isOwner})},Ue={type:"void","x-component":"Space",properties:{remove:{type:"void",title:'{{t("Remove")}}',"x-component":"Action","x-component-props":{icon:"UserDeleteOutlined",confirm:{title:"{{t('Remove members')}}",content:"{{t('Are you sure you want to remove these members?')}}"},style:{marginRight:8},useAction:"{{ useBulkRemoveMembersAction }}"}},refresh:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined",style:{marginRight:8}}},create:{type:"void",title:L("Add members"),"x-component":"Action","x-component-props":{type:"primary",icon:"UserAddOutlined"},properties:{drawer:{type:"void","x-component":"AddMembers"}}}}};function Be(){const e=n.useResourceActionContext();return{onClick(){return I(this,null,function*(){var o;(o=e==null?void 0:e.refresh)==null||o.call(e)})}}}const Le=e=>{const{department:t}=e;return t?s.jsx(n.SchemaComponent,{scope:{useRefreshActionProps:Be},schema:Ue}):null},$e={type:"void",properties:{remove:{title:'{{ t("Remove") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Remove member')}}",content:"{{t('Are you sure you want to remove it?')}}"},useAction:"{{ useRemoveMemberAction }}"}}}},ze=()=>{const e=n.useAPIClient(),{department:t}=V(),{id:o}=n.useRecord(),{refresh:r}=n.useResourceActionContext();return{run(){return I(this,null,function*(){yield e.resource("departments.members",t.id).remove({values:[o]}),r()})}}},je=e=>{const{t}=K(),{department:o}=e;return o?s.jsx(n.SchemaComponent,{schema:$e,scope:{t,useRemoveMemberAction:ze}}):null},_e=()=>{const{t:e}=K(),{message:t}=A.App.useApp(),o=n.useAPIClient(),{state:r,setState:a,refresh:c}=n.useResourceActionContext(),{department:p}=V();return{run(){return I(this,null,function*(){const u=r==null?void 0:r.selectedRowKeys;if(!(u!=null&&u.length)){t.warning(e("Please select members"));return}yield o.resource("departments.members",p.id).remove({values:u}),a({selectedRowKeys:[]}),c()})}}},We=e=>{const{user:t}=V(),o=n.useResourceActionContext(),{onSuccess:r}=e;return d.useEffect(()=>{if(t){e==null||e.onSuccess({data:[t]});return}o.loading||r==null||r(o.data)},[t,o.loading]),o},Ge=()=>{var r;const e=n.useResourceActionContext(),{data:t}=e,{t:o}=K();return o("Total {{count}} members",{count:(r=t==null?void 0:t.meta)==null?void 0:r.count})},He=e=>{const{useDataSource:t}=e;return{type:"void",properties:{[w.uid()]:{type:"void","x-component":"RequestProvider","x-component-props":{useDataSource:t},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}}},departments:{type:"array","x-component":"InternalDepartmentTable","x-component-props":{useDisabled:"{{ useDisabled }}"}}}}}}},se=d.createContext({}),Je=se.Provider;function ae(){return d.useContext(se)}const Qe=()=>({disabled:()=>!1}),Xe=({useDisabled:e=Qe})=>{const{t}=K(),o=n.useResourceActionContext(),{run:r,data:a,loading:c,defaultRequest:p}=o,{resource:i,resourceOf:u,params:l}=p||{},{treeData:y,initData:g,loadData:h}=_({resource:i,resourceOf:u,params:l}),b=w.useField(),{disabled:F}=e(),{hasFilter:C,expandedKeys:v,setExpandedKeys:x}=ae();d.useEffect(()=>{C||g(a==null?void 0:a.data)},[a,g,c,C]);const{count:m,page:D,pageSize:k}=(a==null?void 0:a.meta)||{},O={defaultPageSize:l==null?void 0:l.pageSize,total:m,current:D,pageSize:k};return s.jsx(A.Table,{rowKey:"id",columns:[{dataIndex:"title",title:t("Department name"),render:(E,q)=>C?j(q):E}],rowSelection:{selectedRowKeys:((b==null?void 0:b.value)||[]).map(E=>E.id),onChange:(E,q)=>{var N;return(N=b==null?void 0:b.setValue)==null?void 0:N.call(b,q)},getCheckboxProps:()=>({disabled:F()})},pagination:S(f({},O),{showSizeChanger:!0,onChange(E,q){var N;r(S(f({},((N=o==null?void 0:o.params)==null?void 0:N[0])||{}),{page:E,pageSize:q}))}}),dataSource:C?(a==null?void 0:a.data)||[]:y,expandable:{onExpand:(E,q)=>{const N=q;h({key:N.id,children:N.children})},expandedRowKeys:v,onExpandedRowsChange:E=>x(E)}})},X={name:"departments",fields:[{interface:"id",type:"bigInt",name:"id",primaryKey:!0,autoIncrement:!0,uiSchema:{type:"id",title:'{{t("ID")}}'}},{interface:"input",type:"string",name:"title",uiSchema:{type:"string",title:'{{t("Department name")}}',"x-component":"Input",required:!0}},{interface:"m2o",type:"belongsTo",name:"parent",collectionName:"departments",foreignKey:"parentId",target:"departments",targetKey:"id",treeParent:!0,uiSchema:{title:'{{t("Superior department")}}',"x-component":"DepartmentSelect"}},{interface:"m2m",type:"belongsToMany",name:"roles",target:"roles",collectionName:"departments",through:"departmentsRoles",foreignKey:"departmentId",otherKey:"roleName",targetKey:"name",sourceKey:"id",uiSchema:{title:'{{t("Roles")}}',"x-component":"AssociationField","x-component-props":{multiple:!0,fieldNames:{label:"title",value:"name"}}}},{interface:"m2m",type:"belongsToMany",name:"owners",collectionName:"departments",target:"users",through:"departmentsUsers",foreignKey:"departmentId",otherKey:"userId",targetKey:"id",sourceKey:"id",scope:{isOwner:!0},uiSchema:{title:'{{t("Owners")}}',"x-component":"AssociationField","x-component-props":{multiple:!0,fieldNames:{label:"nickname",value:"id"}}}}]},Ye=e=>{const[t,o]=d.useState([]),[r,a]=d.useState(!1),{useDataSource:c}=e,p=c({manual:!0});return d.useEffect(()=>{p.run({filter:{parentId:null},pageSize:10})},[]),s.jsx(n.ResourceActionContext.Provider,{value:p,children:s.jsx(n.CollectionProvider_deprecated,{collection:X,children:s.jsx(Je,{value:{expandedKeys:t,setExpandedKeys:o,hasFilter:r,setHasFilter:a},children:e.children})})})},Ze=()=>{const{setHasFilter:e,setExpandedKeys:t}=ae(),{t:o}=K(),r=d.useContext(n.CollectionContext),a=n.useFilterFieldOptions(r.fields),c=n.useResourceActionContext(),{run:p,defaultRequest:i}=c,u=w.useField(),{params:l}=i||{};return{options:a,onSubmit:y=>I(null,null,function*(){const g=l.filter,h=n.removeNullCondition(y==null?void 0:y.filter);p(S(f({},l),{page:1,pageSize:10,filter:n.mergeFilter([h,g])}));const b=(h==null?void 0:h.$and)||(h==null?void 0:h.$or);b!=null&&b.length?(u.title=o("{{count}} filter items",{count:(b==null?void 0:b.length)||0}),e(!0)):(u.title=o("Filter"),e(!1))}),onReset(){p(S(f({},l),{filter:S(f({},(l==null?void 0:l.filter)||{}),{parentId:null}),page:1,pageSize:10})),u.title=o("Filter"),e(!1),t([])}}},ce=({useDataSource:e,useDisabled:t})=>{const o=He({useDataSource:e});return s.jsx(n.SchemaComponent,{schema:o,components:{RequestProvider:Ye,InternalDepartmentTable:Xe},scope:{useDisabled:t,useFilterActionProps:Ze}})},Re=e=>{const t={resource:"departments",action:"list",params:{appends:["parent(recursively=true)"],sort:["createdAt"]}},o=n.useRequest(t,e);return S(f({},o),{defaultRequest:t})},et={type:"void",properties:{drawer:{title:'{{t("Select Departments")}}',"x-decorator":"Form","x-component":"Action.Drawer",properties:{table:{type:"void","x-decorator":"FormItem","x-component":"DepartmentTable","x-component-props":{useDataSource:"{{ useDataSource }}",useDisabled:"{{ useDisabled }}"}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},confirm:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useAddDepartments }}"}}}}}}}},tt=e=>{const{t}=K(),{user:o,useAddDepartments:r,useDisabled:a}=e;return s.jsx(n.SchemaComponent,{schema:et,components:{DepartmentTable:ce},scope:{t,user:o,useDataSource:Re,useAddDepartments:r,useDisabled:a}},2)},ot=()=>{const{modal:e,message:t}=A.App.useApp(),o=n.useAPIClient(),{t:r}=K(),[a,c]=d.useState(!1),p=n.useRecord(),i=w.useField(),{refresh:u}=n.useResourceActionContext(),l=(x=[])=>x.map(m=>{var D,k;return S(f({},m),{title:j(m),isMain:(D=m.departmentsUsers)==null?void 0:D.isMain,isOwner:(k=m.departmentsUsers)==null?void 0:k.isOwner})});n.useRequest(()=>o.resource("users.departments",p.id).list({appends:["parent(recursively=true)"],pagination:!1}).then(x=>{var D;const m=l((D=x==null?void 0:x.data)==null?void 0:D.data);i.setValue(m)}),{ready:p.id});const y=()=>{const x=n.useAPIClient(),m=w.useForm(),{departments:D}=m.values||{};return{run(){return I(this,null,function*(){yield x.resource("users.departments",p.id).add({values:D.map(O=>O.id)}),m.reset(),i.setValue([...i.value,...D.map((O,E)=>S(f({},O),{isMain:E===0&&i.value.length===0,title:j(O)}))]),c(!1),u()})}}},g=x=>{e.confirm({title:r("Remove department"),content:r("Are you sure you want to remove it?"),onOk:()=>I(null,null,function*(){yield o.resource("users.departments",p.id).remove({values:[x.id]}),t.success(r("Deleted successfully")),i.setValue(i.value.filter(m=>m.id!==x.id).map((m,D)=>S(f({},m),{isMain:x.isMain&&D===0||m.isMain}))),u()})})},h=x=>I(null,null,function*(){yield o.resource("users").setMainDepartment({values:{userId:p.id,departmentId:x.id}}),t.success(r("Set successfully")),i.setValue(i.value.map(m=>S(f({},m),{isMain:m.id===x.id}))),u()}),b=x=>I(null,null,function*(){yield o.resource("departments").setOwner({values:{userId:p.id,departmentId:x.id}}),t.success(r("Set successfully")),i.setValue(i.value.map(m=>S(f({},m),{isOwner:m.id===x.id?!0:m.isOwner}))),u()}),F=x=>I(null,null,function*(){yield o.resource("departments").removeOwner({values:{userId:p.id,departmentId:x.id}}),t.success(r("Set successfully")),i.setValue(i.value.map(m=>S(f({},m),{isOwner:m.id===x.id?!1:m.isOwner}))),u()}),C=(x,m)=>{switch(x){case"setMain":h(m);break;case"setOwner":b(m);break;case"removeOwner":F(m);break;case"remove":g(m)}},v=()=>({disabled:x=>x&&i.value.some(m=>m.id===x.id)});return s.jsxs(n.ActionContextProvider,{value:{visible:a,setVisible:c},children:[s.jsxs(d.Fragment,{children:[((i==null?void 0:i.value)||[]).map(x=>s.jsxs(A.Tag,{style:{padding:"5px 8px",background:"transparent",marginBottom:"5px"},children:[s.jsx("span",{style:{marginRight:"5px"},children:x.title}),x.isMain?s.jsx(A.Tag,{color:"processing",bordered:!1,children:r("Main")}):"",s.jsx(A.Dropdown,{menu:{items:[...x.isMain?[]:[{key:"setMain",label:r("Set as main department")}],{key:"remove",label:r("Remove")}],onClick:({key:m})=>C(m,x)},children:s.jsxs("div",{style:{float:"right"},children:[" ",s.jsx(z.MoreOutlined,{})]})})]},x.id)),s.jsx(A.Button,{icon:s.jsx(z.PlusOutlined,{}),onClick:()=>c(!0)},1)]}),s.jsx(tt,{user:p,useAddDepartments:y,useDisabled:v})]})},nt=()=>{var g;const{t:e}=K(),{department:t,user:o,setShowChildren:r,showChildren:a}=V(),{data:c,setState:p,refresh:i}=n.useResourceActionContext(),u=()=>s.jsx(Le,{department:t}),l=()=>s.jsx(je,{department:t}),y=d.useMemo(()=>Ne(t,o,r),[t==null?void 0:t.id,o,r]);return d.useEffect(()=>{p==null||p({selectedRowKeys:[]})},[c,p]),d.useEffect(()=>{i==null||i()},[t==null?void 0:t.id,o,a]),s.jsxs(s.Fragment,{children:[s.jsx("h2",{children:e(o?"Search results":(g=t==null?void 0:t.title)!=null?g:"All users")}),s.jsx(n.SchemaComponent,{schema:y,components:{MemberActions:u,AddMembers:Ee,RowRemoveAction:l,DepartmentField:Ve,IsOwnerField:qe,UserDepartmentsField:ot},scope:{useBulkRemoveMembersAction:_e,useMembersDataSource:We,useShowTotal:Ge,useFilterActionProps:J}})]})},rt=({children:e})=>{const t=V(),{departmentsResource:o}=t,{service:r}=o||{};return s.jsx(n.ResourceActionContext.Provider,{value:f({},r),children:s.jsx(n.CollectionProvider_deprecated,{collection:X,children:e})})},st={name:"users",fields:[{interface:"id",type:"bigInt",name:"id",primaryKey:!0,autoIncrement:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-read-pretty":!0}},{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","x-validator":"phone",required:!0}},{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"}}}},{interface:"m2m",type:"belongsToMany",name:"departments",target:"departments",foreignKey:"userId",otherKey:"departmentId",onDelete:"CASCADE",sourceKey:"id",targetKey:"id",through:"departmentsUsers",uiSchema:{type:"array",title:'{{t("Departments")}}',"x-component":"DepartmentField"}},{interface:"m2m",type:"belongsToMany",name:"mainDepartment",target:"departments",foreignKey:"userId",otherKey:"departmentId",onDelete:"CASCADE",sourceKey:"id",targetKey:"id",through:"departmentsUsers",throughScope:{isMain:!0},uiSchema:{type:"array",title:'{{t("Main department")}}',"x-component":"DepartmentField"}}]},at=({children:e})=>{const{usersResource:t}=V(),{service:o}=t||{};return s.jsx(n.ResourceActionContext.Provider,{value:f({},o),children:s.jsx(n.CollectionProvider_deprecated,{collection:st,children:e})})},ct=()=>s.jsx(n.SchemaComponentOptions,{components:{SuperiorDepartmentSelect:he,DepartmentSelect:ye},scope:{useFilterActionProps:J},children:s.jsxs(A.Row,{gutter:48,style:{flexWrap:"nowrap"},children:[s.jsx(A.Col,{span:6,style:{borderRight:"1px solid #eee",minWidth:"300px"},children:s.jsx(rt,{children:s.jsx(Me,{})})}),s.jsx(A.Col,{flex:"auto",style:{overflow:"hidden"},children:s.jsx(at,{children:s.jsx(nt,{})})})]})}),it={type:"void",properties:{[w.uid()]:{type:"void","x-decorator":"CardItem","x-component":"DepartmentManagement"}}},pt=()=>s.jsx(n.SchemaComponent,{schema:it,components:{DepartmentManagement:ct}}),lt=()=>{const e=n.useSchemaComponentContext();return s.jsx(n.SchemaComponentContext.Provider,{value:S(f({},e),{designable:!1}),children:s.jsx(me,{children:s.jsx(pt,{})})})};class dt extends n.Plugin{load(){return I(this,null,function*(){this.app.systemSettingsManager.add("id-auth.departments",{icon:"ApartmentOutlined",title:L("Departments"),sort:2,aclSnippet:"pm.departments",Component:lt})})}}const ut=()=>({type:"void",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{[w.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 departments?')}}"},style:{marginRight:8},useAction:"{{ useBulkRemoveDepartments }}"}},create:{type:"void",title:'{{t("Add departments")}}',"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2",title:'{{t("Add departments")}}',properties:{table:{type:"void","x-decorator":"FormItem","x-component":"DepartmentTable","x-component-props":{useDataSource:"{{ useDataSource }}",useDisabled:"{{ useDisabled }}"}},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:"{{ useAddDepartments }}"}}}}}}}}}}}},table:{type:"void","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{title:{type:"void",title:'{{t("Department name")}}',"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{type:"string","x-component":"DepartmentTitle"}}},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 department')}}",content:"{{t('Are you sure you want to remove it?')}}"},useAction:"{{ useRemoveDepartment }}"}}}}}}}}}}),mt=()=>{const e=n.useRecord(),t=ie(e);return s.jsx(s.Fragment,{children:t})};function ie(e){const{title:t,parent:o}=e;return o?ie(o)+" /"+t:t}const xt=()=>{const{role:e}=d.useContext(U.RolesManagerContext),t=n.useAPIClient(),o=w.useForm(),{setVisible:r}=n.useActionContext(),{refresh:a}=n.useResourceActionContext(),{departments:c}=o.values||{};return{run(){return I(this,null,function*(){yield t.resource("roles.departments",e.name).add({values:c.map(u=>u.id)}),o.reset(),r(!1),a()})}}},yt=()=>{const e=n.useAPIClient(),{t}=K(),{message:o}=A.App.useApp(),{state:r,setState:a,refresh:c}=n.useResourceActionContext(),{role:p}=d.useContext(U.RolesManagerContext);return{run(){return I(this,null,function*(){const u=r==null?void 0:r.selectedRowKeys;if(!(u!=null&&u.length)){o.warning(t("Please select departments"));return}yield e.resource(`roles/${p==null?void 0:p.name}/departments`).remove({values:u}),a==null||a({selectedRowKeys:[]}),c()})}}},ht=e=>{const t={resource:"departments",action:"list",params:{appends:["roles","parent(recursively=true)"],sort:["createdAt"]}},o=n.useRequest(t,e);return S(f({},o),{defaultRequest:t})},ft=()=>{const{role:e}=d.useContext(U.RolesManagerContext);return{disabled:t=>{var o;return(o=t==null?void 0:t.roles)==null?void 0:o.some(r=>r.name===(e==null?void 0:e.name))}}},vt=()=>{const e=n.useAPIClient(),{role:t}=d.useContext(U.RolesManagerContext),o=n.useRecord(),{refresh:r}=n.useResourceActionContext();return{run(){return I(this,null,function*(){yield e.resource(`roles/${t==null?void 0:t.name}/departments`).remove({values:[o.id]}),r()})}}},gt=()=>{const{role:e}=d.useContext(U.RolesManagerContext),{t}=K(),o=n.useRequest({resource:`roles/${e==null?void 0:e.name}/departments`,action:"list",params:{appends:["parent","parent.parent(recursively=true)"]}},{ready:!!e,refreshDeps:[e]}),r=d.useMemo(()=>ut(),[e]);return s.jsx(n.ResourceActionContext.Provider,{value:o,children:s.jsx(n.CollectionProvider_deprecated,{collection:X,children:s.jsx(n.SchemaComponent,{schema:r,components:{DepartmentTable:ce,DepartmentTitle:mt},scope:{useFilterActionProps:J,useRemoveDepartment:vt,useBulkRemoveDepartments:yt,useDataSource:ht,useDisabled:ft,useAddDepartments:xt,t}})})})};class Dt extends n.Plugin{load(){return I(this,null,function*(){this.app.pm.get(U).rolesManager.add("departments",{title:L("Departments"),Component:gt})})}}const Y={name:"enableLink",type:"switch",useVisible(){return w.useField().readPretty},useComponentProps(){var p;const{t:e}=K(),t=w.useField(),{fieldSchema:o}=n.useColumnSchema(),r=w.useFieldSchema(),a=o||r,{dn:c}=n.useDesignable();return{title:e("Enable link"),checked:((p=a["x-component-props"])==null?void 0:p.enableLink)!==!1,onChange(i){a["x-component-props"]=S(f({},a==null?void 0:a["x-component-props"]),{enableLink:i}),t.componentProps.enableLink=i,c.emit("patch",{schema:{"x-uid":a["x-uid"],"x-component-props":f({},a==null?void 0:a["x-component-props"])}}),c.refresh()}}}},Z={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=K(),t=w.useField(),{fieldSchema:o,collectionField:r}=n.useColumnSchema(),a=w.useFieldSchema(),c=o||a,p=n.useFieldModeOptions({fieldSchema:o,collectionField:r}),{dn:i}=n.useDesignable();return{title:e("Field component"),options:p,value:"Select",onChange(u){const l={"x-uid":c["x-uid"]};c["x-component-props"]=c["x-component-props"]||{},c["x-component-props"].mode=u,l["x-component-props"]=c["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=u,i.emit("patch",{schema:l}),i.refresh()}}}},R={name:"titleField",type:"select",useComponentProps(){var g,h,b,F;const{t:e}=K(),t=w.useField(),{dn:o}=n.useDesignable(),r=n.useTitleFieldOptions(),{fieldSchema:a,collectionField:c}=n.useColumnSchema(),p=w.useFieldSchema(),i=a||p,u=n.useCollectionField(),l=c||u,y=((g=t==null?void 0:t.componentProps)==null?void 0:g.fieldNames)||((h=i==null?void 0:i["x-component-props"])==null?void 0:h.fieldNames)||((F=(b=l==null?void 0:l.uiSchema)==null?void 0:b["x-component-props"])==null?void 0:F.fieldNames);return{title:e("Title field"),options:r,value:y==null?void 0:y.label,onChange(C){var D,k,O,E,q,N;const v={"x-uid":i["x-uid"]},x=S(f(f({},(k=(D=l==null?void 0:l.uiSchema)==null?void 0:D["x-component-props"])==null?void 0:k.fieldNames),(O=i==null?void 0:i["x-component-props"])==null?void 0:O.fieldNames),{label:C});i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].fieldNames=x,v["x-component-props"]=i["x-component-props"],t.componentProps.fieldNames=(E=i["x-component-props"])==null?void 0:E.fieldNames;const m=(N=t.path)==null?void 0:N.splice(((q=t.path)==null?void 0:q.length)-1,1);t.form.query(`${m.concat("*."+i.name)}`).forEach(ee=>{ee.componentProps.fieldNames=x.label}),o.emit("patch",{schema:v}),o.refresh()}}}},Ct=new n.SchemaSettings({name:"fieldSettings:component:DepartmentOwnersField",items:[Z,R,Y]}),bt=new n.SchemaSettings({name:"fieldSettings:component:UserDepartmentsField",items:[Z,R,Y]}),At=new n.SchemaSettings({name:"fieldSettings:component:UserMainDepartmentField",items:[Z,R,Y]});class pe extends n.Plugin{afterAdd(){return I(this,null,function*(){this.pm.add(dt),this.pm.add(Dt)})}load(){return I(this,null,function*(){this.app.addComponents({UserDepartmentsField:H,UserMainDepartmentField:H,DepartmentOwnersField:H}),this.app.schemaSettingsManager.add(bt),this.app.schemaSettingsManager.add(At),this.app.schemaSettingsManager.add(Ct)})}}P.DepartmentsPlugin=pe,P.default=pe,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
12
|
+
`,children:c!=null&&c.length?s.jsx(A.Tree.DirectoryTree,{loadData:i,treeData:c,loadedKeys:u,onSelect:b,selectedKeys:[o==null?void 0:o.id],onExpand:F,onLoad:C,expandedKeys:g,expandAction:!1,showIcon:!1,fieldNames:{key:"id"}}):s.jsx(A.Empty,{image:A.Empty.PRESENTED_IMAGE_SIMPLE})})},Te=({node:e,setVisible:t,setDrawer:o})=>{const{t:r}=K(),{refreshAsync:a}=n.useResourceActionContext(),{setLoadedKeys:c,expandedKeys:p,setExpandedKeys:i}=W(),{modal:u,message:l}=A.App.useApp(),y=n.useAPIClient(),g=()=>{u.confirm({title:r("Delete department"),content:r("Are you sure you want to delete it?"),onOk:()=>I(null,null,function*(){yield y.resource("departments").destroy({filterByTk:e.id}),l.success(r("Deleted successfully")),i(C=>C.filter(v=>v!==e.id));const F=[...p];c([]),i([]),yield a(),i(F)})})},h=F=>{o({schema:F,node:e}),t(!0)},b=({key:F,domeEvent:C})=>{switch(C==null||C.stopPropagation(),F){case"new-sub":h(Pe);break;case"edit":h(Fe);break;case"delete":g()}};return s.jsxs("div",{style:{display:"flex",justifyContent:"space-between",overflow:"hidden"},children:[s.jsx("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title}),s.jsx(A.Dropdown,{menu:{items:[{label:r("New sub department"),key:"new-sub"},{label:r("Edit department"),key:"edit"},{label:r("Delete department"),key:"delete"}],onClick:b},children:s.jsx("div",{style:{marginLeft:"15px"},children:s.jsx(z.MoreOutlined,{})})})]})};Q.Item=Te;const Ie=()=>{const e=w.useForm(),t=w.useField(),{setVisible:o}=n.useActionContext(),{refreshAsync:r}=n.useResourceActionContext(),a=n.useAPIClient(),{expandedKeys:c,setLoadedKeys:p,setExpandedKeys:i}=W();return{run(){return I(this,null,function*(){try{yield e.submit(),t.data=t.data||{},t.data.loading=!0,yield a.resource("departments").create({values:e.values}),o(!1),yield e.reset(),t.data.loading=!1;const l=[...c];p([]),i([]),yield r(),i(l)}catch(l){t.data&&(t.data.loading=!1)}})}}},ke=()=>{const e=w.useField(),t=w.useForm(),{setVisible:o}=n.useActionContext(),{refreshAsync:r}=n.useResourceActionContext(),a=n.useAPIClient(),{id:c}=n.useRecord(),{expandedKeys:p,setLoadedKeys:i,setExpandedKeys:u}=W(),{department:l,setDepartment:y}=V();return{run(){return I(this,null,function*(){yield t.submit(),e.data=e.data||{},e.data.loading=!0;try{yield a.resource("departments").update({filterByTk:c,values:t.values}),y(f({department:l},t.values)),o(!1),yield t.reset();const h=[...p];i([]),u([]),yield r(),u(h)}catch(h){console.log(h)}finally{e.data.loading=!1}})}}},Me=()=>{const{t:e}=K(),[t,o]=d.useState(!1),[r,a]=d.useState({}),{department:c,setDepartment:p}=V(),{token:i}=A.theme.useToken(),l=_({label:({node:g})=>s.jsx(Q.Item,{node:g,setVisible:o,setDrawer:a})}),y=r.schema||{};return s.jsx(n.SchemaComponentOptions,{scope:{useCreateDepartment:Ie,useUpdateDepartment:ke},children:s.jsxs(fe,{value:l,children:[s.jsxs(A.Row,{children:[s.jsx(we,{}),s.jsx(A.Button,{type:"text",icon:s.jsx(z.UserOutlined,{}),style:{textAlign:"left",marginBottom:"5px",background:c?"":i.colorBgTextHover},onClick:()=>{p(null)},block:!0,children:e("All users")}),s.jsx(ge,{})]}),s.jsx(A.Divider,{style:{margin:"12px 0"}}),s.jsx(Q,{}),s.jsx(n.ActionContextProvider,{value:{visible:t,setVisible:o},children:s.jsx(n.RecordProvider,{record:r.node||{},children:s.jsx(n.SchemaComponent,{schema:y,components:{DepartmentOwnersField:Ae}})})})]})})},Ke={type:"object",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form",title:'{{t("Add members")}}',properties:{resource:{type:"void","x-decorator":"FormItem","x-component":"ResourceActionProvider","x-component-props":{collection:"users",request:{resource:"users",action:"listExcludeDept",params:{departmentId:"{{ department?.id }}"}}},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:"{{ handleSelect }}"},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:"{{ useAddMembersAction }}"}}}}}}}};function Oe(){const{department:e}=V(),{refresh:t}=n.useResourceActionContext(),o=d.useRef([]),r=n.useAPIClient();return{department:e,useAddMembersAction:()=>({run(){return I(this,null,function*(){const i=o.current;i!=null&&i.length&&(yield r.resource("departments.members",e.id).add({values:i}),o.current=[],t())})}}),handleSelect:p=>{o.current=p}}}const Ee=()=>{const{department:e,useAddMembersAction:t,handleSelect:o}=Oe();return s.jsx(n.SchemaComponent,{schema:Ke,scope:{useAddMembersAction:t,department:e,handleSelect:o}})},Ve=()=>{const{setDepartment:e}=V(),o=w.useField().value||[],r=o.reduce((a,c)=>(a[c.id]=c,a),{});return s.jsx(n.EllipsisWithTooltip,{ellipsis:!0,children:o.map((a,c)=>s.jsxs("span",{children:[s.jsx("a",{onClick:p=>{p.preventDefault(),e(r[a.id])},children:j(a)}),c!==o.length-1?s.jsx("span",{style:{marginRight:4,color:"#aaa"},children:","}):""]},c))})},Ne=(e,t,o)=>{const r=t?{}:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},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"},showChildren:{type:"boolean","x-component":"Select",enum:[{label:L("Only display direct members of the department"),value:!1},{label:L("Show all members"),value:!0}],"x-component-props":{defaultValue:!1,onChange:o},"x-align":"left"},actions:{type:"void","x-component":"MemberActions"}}}},a=e?{isOwner:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column","x-component-props":{style:{minWidth:100}},title:L("Owner"),properties:{isOwner:{type:"boolean","x-component":"IsOwnerField"}}}}:{},c=e?{remove:{type:"void","x-component":"RowRemoveAction"}}:{};return{type:"void",properties:S(f({},r),{table:{type:"void","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ useMembersDataSource }}",pagination:{showTotal:"{{ useShowTotal }}"}},properties:S(f({nickname:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{nickname:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},username:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},departments:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{departments:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},mainDepartment:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{mainDepartment:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}}},a),{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}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:f({update:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2",title:'{{t("Configure")}}',properties:{departments:{title:'{{t("Departments")}}',"x-decorator":"FormItem","x-component":"UserDepartmentsField"}}}}}},c)}}}})}})}},qe=()=>{var o;const{department:e}=V(),t=(o=n.useRecord().departments)==null?void 0:o.find(r=>(r==null?void 0:r.id)===(e==null?void 0:e.id));return s.jsx(n.Checkbox.ReadPretty,{value:t==null?void 0:t.departmentsUsers.isOwner})},Ue={type:"void","x-component":"Space",properties:{remove:{type:"void",title:'{{t("Remove")}}',"x-component":"Action","x-component-props":{icon:"UserDeleteOutlined",confirm:{title:"{{t('Remove members')}}",content:"{{t('Are you sure you want to remove these members?')}}"},style:{marginRight:8},useAction:"{{ useBulkRemoveMembersAction }}"}},refresh:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined",style:{marginRight:8}}},create:{type:"void",title:L("Add members"),"x-component":"Action","x-component-props":{type:"primary",icon:"UserAddOutlined"},properties:{drawer:{type:"void","x-component":"AddMembers"}}}}};function Be(){const e=n.useResourceActionContext();return{onClick(){return I(this,null,function*(){var o;(o=e==null?void 0:e.refresh)==null||o.call(e)})}}}const Le=e=>{const{department:t}=e;return t?s.jsx(n.SchemaComponent,{scope:{useRefreshActionProps:Be},schema:Ue}):null},$e={type:"void",properties:{remove:{title:'{{ t("Remove") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Remove member')}}",content:"{{t('Are you sure you want to remove it?')}}"},useAction:"{{ useRemoveMemberAction }}"}}}},ze=()=>{const e=n.useAPIClient(),{department:t}=V(),{id:o}=n.useRecord(),{refresh:r}=n.useResourceActionContext();return{run(){return I(this,null,function*(){yield e.resource("departments.members",t.id).remove({values:[o]}),r()})}}},je=e=>{const{t}=K(),{department:o}=e;return o?s.jsx(n.SchemaComponent,{schema:$e,scope:{t,useRemoveMemberAction:ze}}):null},_e=()=>{const{t:e}=K(),{message:t}=A.App.useApp(),o=n.useAPIClient(),{state:r,setState:a,refresh:c}=n.useResourceActionContext(),{department:p}=V();return{run(){return I(this,null,function*(){const u=r==null?void 0:r.selectedRowKeys;if(!(u!=null&&u.length)){t.warning(e("Please select members"));return}yield o.resource("departments.members",p.id).remove({values:u}),a({selectedRowKeys:[]}),c()})}}},We=e=>{const{user:t}=V(),o=n.useResourceActionContext(),{onSuccess:r}=e;return d.useEffect(()=>{if(t){e==null||e.onSuccess({data:[t]});return}o.loading||r==null||r(o.data)},[t,o.loading]),o},Ge=()=>{var r;const e=n.useResourceActionContext(),{data:t}=e,{t:o}=K();return o("Total {{count}} members",{count:(r=t==null?void 0:t.meta)==null?void 0:r.count})},He=e=>{const{useDataSource:t}=e;return{type:"void",properties:{[w.uid()]:{type:"void","x-component":"RequestProvider","x-component-props":{useDataSource:t},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}}},departments:{type:"array","x-component":"InternalDepartmentTable","x-component-props":{useDisabled:"{{ useDisabled }}"}}}}}}},se=d.createContext({}),Je=se.Provider;function ae(){return d.useContext(se)}const Qe=()=>({disabled:()=>!1}),Xe=({useDisabled:e=Qe})=>{const{t}=K(),o=n.useResourceActionContext(),{run:r,data:a,loading:c,defaultRequest:p}=o,{resource:i,resourceOf:u,params:l}=p||{},{treeData:y,initData:g,loadData:h}=_({resource:i,resourceOf:u,params:l}),b=w.useField(),{disabled:F}=e(),{hasFilter:C,expandedKeys:v,setExpandedKeys:x}=ae();d.useEffect(()=>{C||g(a==null?void 0:a.data)},[a,g,c,C]);const{count:m,page:D,pageSize:k}=(a==null?void 0:a.meta)||{},O={defaultPageSize:l==null?void 0:l.pageSize,total:m,current:D,pageSize:k};return s.jsx(A.Table,{rowKey:"id",columns:[{dataIndex:"title",title:t("Department name"),render:(E,q)=>C?j(q):E}],rowSelection:{selectedRowKeys:((b==null?void 0:b.value)||[]).map(E=>E.id),onChange:(E,q)=>{var N;return(N=b==null?void 0:b.setValue)==null?void 0:N.call(b,q)},getCheckboxProps:()=>({disabled:F()})},pagination:n.withAutoQuickJumper(S(f({},O),{showSizeChanger:!0,onChange(E,q){var N;r(S(f({},(N=o==null?void 0:o.params)==null?void 0:N[0]),{page:E,pageSize:q}))}})),dataSource:C?(a==null?void 0:a.data)||[]:y,expandable:{onExpand:(E,q)=>{const N=q;h({key:N.id,children:N.children})},expandedRowKeys:v,onExpandedRowsChange:E=>x(E)}})},X={name:"departments",fields:[{interface:"id",type:"bigInt",name:"id",primaryKey:!0,autoIncrement:!0,uiSchema:{type:"id",title:'{{t("ID")}}'}},{interface:"input",type:"string",name:"title",uiSchema:{type:"string",title:'{{t("Department name")}}',"x-component":"Input",required:!0}},{interface:"m2o",type:"belongsTo",name:"parent",collectionName:"departments",foreignKey:"parentId",target:"departments",targetKey:"id",treeParent:!0,uiSchema:{title:'{{t("Superior department")}}',"x-component":"DepartmentSelect"}},{interface:"m2m",type:"belongsToMany",name:"roles",target:"roles",collectionName:"departments",through:"departmentsRoles",foreignKey:"departmentId",otherKey:"roleName",targetKey:"name",sourceKey:"id",uiSchema:{title:'{{t("Roles")}}',"x-component":"AssociationField","x-component-props":{multiple:!0,fieldNames:{label:"title",value:"name"}}}},{interface:"m2m",type:"belongsToMany",name:"owners",collectionName:"departments",target:"users",through:"departmentsUsers",foreignKey:"departmentId",otherKey:"userId",targetKey:"id",sourceKey:"id",scope:{isOwner:!0},uiSchema:{title:'{{t("Owners")}}',"x-component":"AssociationField","x-component-props":{multiple:!0,fieldNames:{label:"nickname",value:"id"}}}}]},Ye=e=>{const[t,o]=d.useState([]),[r,a]=d.useState(!1),{useDataSource:c}=e,p=c({manual:!0});return d.useEffect(()=>{p.run({filter:{parentId:null},pageSize:10})},[]),s.jsx(n.ResourceActionContext.Provider,{value:p,children:s.jsx(n.CollectionProvider_deprecated,{collection:X,children:s.jsx(Je,{value:{expandedKeys:t,setExpandedKeys:o,hasFilter:r,setHasFilter:a},children:e.children})})})},Ze=()=>{const{setHasFilter:e,setExpandedKeys:t}=ae(),{t:o}=K(),r=d.useContext(n.CollectionContext),a=n.useFilterFieldOptions(r.fields),c=n.useResourceActionContext(),{run:p,defaultRequest:i}=c,u=w.useField(),{params:l}=i||{};return{options:a,onSubmit:y=>I(null,null,function*(){const g=l.filter,h=n.removeNullCondition(y==null?void 0:y.filter);p(S(f({},l),{page:1,pageSize:10,filter:n.mergeFilter([h,g])}));const b=(h==null?void 0:h.$and)||(h==null?void 0:h.$or);b!=null&&b.length?(u.title=o("{{count}} filter items",{count:(b==null?void 0:b.length)||0}),e(!0)):(u.title=o("Filter"),e(!1))}),onReset(){p(S(f({},l),{filter:S(f({},(l==null?void 0:l.filter)||{}),{parentId:null}),page:1,pageSize:10})),u.title=o("Filter"),e(!1),t([])}}},ce=({useDataSource:e,useDisabled:t})=>{const o=He({useDataSource:e});return s.jsx(n.SchemaComponent,{schema:o,components:{RequestProvider:Ye,InternalDepartmentTable:Xe},scope:{useDisabled:t,useFilterActionProps:Ze}})},Re=e=>{const t={resource:"departments",action:"list",params:{appends:["parent(recursively=true)"],sort:["createdAt"]}},o=n.useRequest(t,e);return S(f({},o),{defaultRequest:t})},et={type:"void",properties:{drawer:{title:'{{t("Select Departments")}}',"x-decorator":"Form","x-component":"Action.Drawer",properties:{table:{type:"void","x-decorator":"FormItem","x-component":"DepartmentTable","x-component-props":{useDataSource:"{{ useDataSource }}",useDisabled:"{{ useDisabled }}"}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},confirm:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useAddDepartments }}"}}}}}}}},tt=e=>{const{t}=K(),{user:o,useAddDepartments:r,useDisabled:a}=e;return s.jsx(n.SchemaComponent,{schema:et,components:{DepartmentTable:ce},scope:{t,user:o,useDataSource:Re,useAddDepartments:r,useDisabled:a}},2)},ot=()=>{const{modal:e,message:t}=A.App.useApp(),o=n.useAPIClient(),{t:r}=K(),[a,c]=d.useState(!1),p=n.useRecord(),i=w.useField(),{refresh:u}=n.useResourceActionContext(),l=(x=[])=>x.map(m=>{var D,k;return S(f({},m),{title:j(m),isMain:(D=m.departmentsUsers)==null?void 0:D.isMain,isOwner:(k=m.departmentsUsers)==null?void 0:k.isOwner})});n.useRequest(()=>o.resource("users.departments",p.id).list({appends:["parent(recursively=true)"],pagination:!1}).then(x=>{var D;const m=l((D=x==null?void 0:x.data)==null?void 0:D.data);i.setValue(m)}),{ready:p.id});const y=()=>{const x=n.useAPIClient(),m=w.useForm(),{departments:D}=m.values||{};return{run(){return I(this,null,function*(){yield x.resource("users.departments",p.id).add({values:D.map(O=>O.id)}),m.reset(),i.setValue([...i.value,...D.map((O,E)=>S(f({},O),{isMain:E===0&&i.value.length===0,title:j(O)}))]),c(!1),u()})}}},g=x=>{e.confirm({title:r("Remove department"),content:r("Are you sure you want to remove it?"),onOk:()=>I(null,null,function*(){yield o.resource("users.departments",p.id).remove({values:[x.id]}),t.success(r("Deleted successfully")),i.setValue(i.value.filter(m=>m.id!==x.id).map((m,D)=>S(f({},m),{isMain:x.isMain&&D===0||m.isMain}))),u()})})},h=x=>I(null,null,function*(){yield o.resource("users").setMainDepartment({values:{userId:p.id,departmentId:x.id}}),t.success(r("Set successfully")),i.setValue(i.value.map(m=>S(f({},m),{isMain:m.id===x.id}))),u()}),b=x=>I(null,null,function*(){yield o.resource("departments").setOwner({values:{userId:p.id,departmentId:x.id}}),t.success(r("Set successfully")),i.setValue(i.value.map(m=>S(f({},m),{isOwner:m.id===x.id?!0:m.isOwner}))),u()}),F=x=>I(null,null,function*(){yield o.resource("departments").removeOwner({values:{userId:p.id,departmentId:x.id}}),t.success(r("Set successfully")),i.setValue(i.value.map(m=>S(f({},m),{isOwner:m.id===x.id?!1:m.isOwner}))),u()}),C=(x,m)=>{switch(x){case"setMain":h(m);break;case"setOwner":b(m);break;case"removeOwner":F(m);break;case"remove":g(m)}},v=()=>({disabled:x=>x&&i.value.some(m=>m.id===x.id)});return s.jsxs(n.ActionContextProvider,{value:{visible:a,setVisible:c},children:[s.jsxs(d.Fragment,{children:[((i==null?void 0:i.value)||[]).map(x=>s.jsxs(A.Tag,{style:{padding:"5px 8px",background:"transparent",marginBottom:"5px"},children:[s.jsx("span",{style:{marginRight:"5px"},children:x.title}),x.isMain?s.jsx(A.Tag,{color:"processing",bordered:!1,children:r("Main")}):"",s.jsx(A.Dropdown,{menu:{items:[...x.isMain?[]:[{key:"setMain",label:r("Set as main department")}],{key:"remove",label:r("Remove")}],onClick:({key:m})=>C(m,x)},children:s.jsxs("div",{style:{float:"right"},children:[" ",s.jsx(z.MoreOutlined,{})]})})]},x.id)),s.jsx(A.Button,{icon:s.jsx(z.PlusOutlined,{}),onClick:()=>c(!0)},1)]}),s.jsx(tt,{user:p,useAddDepartments:y,useDisabled:v})]})},nt=()=>{var g;const{t:e}=K(),{department:t,user:o,setShowChildren:r,showChildren:a}=V(),{data:c,setState:p,refresh:i}=n.useResourceActionContext(),u=()=>s.jsx(Le,{department:t}),l=()=>s.jsx(je,{department:t}),y=d.useMemo(()=>Ne(t,o,r),[t==null?void 0:t.id,o,r]);return d.useEffect(()=>{p==null||p({selectedRowKeys:[]})},[c,p]),d.useEffect(()=>{i==null||i()},[t==null?void 0:t.id,o,a]),s.jsxs(s.Fragment,{children:[s.jsx("h2",{children:e(o?"Search results":(g=t==null?void 0:t.title)!=null?g:"All users")}),s.jsx(n.SchemaComponent,{schema:y,components:{MemberActions:u,AddMembers:Ee,RowRemoveAction:l,DepartmentField:Ve,IsOwnerField:qe,UserDepartmentsField:ot},scope:{useBulkRemoveMembersAction:_e,useMembersDataSource:We,useShowTotal:Ge,useFilterActionProps:J}})]})},rt=({children:e})=>{const t=V(),{departmentsResource:o}=t,{service:r}=o||{};return s.jsx(n.ResourceActionContext.Provider,{value:f({},r),children:s.jsx(n.CollectionProvider_deprecated,{collection:X,children:e})})},st={name:"users",fields:[{interface:"id",type:"bigInt",name:"id",primaryKey:!0,autoIncrement:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-read-pretty":!0}},{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","x-validator":"phone",required:!0}},{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"}}}},{interface:"m2m",type:"belongsToMany",name:"departments",target:"departments",foreignKey:"userId",otherKey:"departmentId",onDelete:"CASCADE",sourceKey:"id",targetKey:"id",through:"departmentsUsers",uiSchema:{type:"array",title:'{{t("Departments")}}',"x-component":"DepartmentField"}},{interface:"m2m",type:"belongsToMany",name:"mainDepartment",target:"departments",foreignKey:"userId",otherKey:"departmentId",onDelete:"CASCADE",sourceKey:"id",targetKey:"id",through:"departmentsUsers",throughScope:{isMain:!0},uiSchema:{type:"array",title:'{{t("Main department")}}',"x-component":"DepartmentField"}}]},at=({children:e})=>{const{usersResource:t}=V(),{service:o}=t||{};return s.jsx(n.ResourceActionContext.Provider,{value:f({},o),children:s.jsx(n.CollectionProvider_deprecated,{collection:st,children:e})})},ct=()=>s.jsx(n.SchemaComponentOptions,{components:{SuperiorDepartmentSelect:he,DepartmentSelect:ye},scope:{useFilterActionProps:J},children:s.jsxs(A.Row,{gutter:48,style:{flexWrap:"nowrap"},children:[s.jsx(A.Col,{span:6,style:{borderRight:"1px solid #eee",minWidth:"300px"},children:s.jsx(rt,{children:s.jsx(Me,{})})}),s.jsx(A.Col,{flex:"auto",style:{overflow:"hidden"},children:s.jsx(at,{children:s.jsx(nt,{})})})]})}),it={type:"void",properties:{[w.uid()]:{type:"void","x-decorator":"CardItem","x-component":"DepartmentManagement"}}},pt=()=>s.jsx(n.SchemaComponent,{schema:it,components:{DepartmentManagement:ct}}),lt=()=>{const e=n.useSchemaComponentContext();return s.jsx(n.SchemaComponentContext.Provider,{value:S(f({},e),{designable:!1}),children:s.jsx(me,{children:s.jsx(pt,{})})})};class dt extends n.Plugin{load(){return I(this,null,function*(){this.app.systemSettingsManager.add("id-auth.departments",{icon:"ApartmentOutlined",title:L("Departments"),sort:2,aclSnippet:"pm.departments",Component:lt})})}}const ut=()=>({type:"void",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{[w.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 departments?')}}"},style:{marginRight:8},useAction:"{{ useBulkRemoveDepartments }}"}},create:{type:"void",title:'{{t("Add departments")}}',"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2",title:'{{t("Add departments")}}',properties:{table:{type:"void","x-decorator":"FormItem","x-component":"DepartmentTable","x-component-props":{useDataSource:"{{ useDataSource }}",useDisabled:"{{ useDisabled }}"}},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:"{{ useAddDepartments }}"}}}}}}}}}}}},table:{type:"void","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{title:{type:"void",title:'{{t("Department name")}}',"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{type:"string","x-component":"DepartmentTitle"}}},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 department')}}",content:"{{t('Are you sure you want to remove it?')}}"},useAction:"{{ useRemoveDepartment }}"}}}}}}}}}}),mt=()=>{const e=n.useRecord(),t=ie(e);return s.jsx(s.Fragment,{children:t})};function ie(e){const{title:t,parent:o}=e;return o?ie(o)+" /"+t:t}const xt=()=>{const{role:e}=d.useContext(U.RolesManagerContext),t=n.useAPIClient(),o=w.useForm(),{setVisible:r}=n.useActionContext(),{refresh:a}=n.useResourceActionContext(),{departments:c}=o.values||{};return{run(){return I(this,null,function*(){yield t.resource("roles.departments",e.name).add({values:c.map(u=>u.id)}),o.reset(),r(!1),a()})}}},yt=()=>{const e=n.useAPIClient(),{t}=K(),{message:o}=A.App.useApp(),{state:r,setState:a,refresh:c}=n.useResourceActionContext(),{role:p}=d.useContext(U.RolesManagerContext);return{run(){return I(this,null,function*(){const u=r==null?void 0:r.selectedRowKeys;if(!(u!=null&&u.length)){o.warning(t("Please select departments"));return}yield e.resource(`roles/${p==null?void 0:p.name}/departments`).remove({values:u}),a==null||a({selectedRowKeys:[]}),c()})}}},ht=e=>{const t={resource:"departments",action:"list",params:{appends:["roles","parent(recursively=true)"],sort:["createdAt"]}},o=n.useRequest(t,e);return S(f({},o),{defaultRequest:t})},ft=()=>{const{role:e}=d.useContext(U.RolesManagerContext);return{disabled:t=>{var o;return(o=t==null?void 0:t.roles)==null?void 0:o.some(r=>r.name===(e==null?void 0:e.name))}}},vt=()=>{const e=n.useAPIClient(),{role:t}=d.useContext(U.RolesManagerContext),o=n.useRecord(),{refresh:r}=n.useResourceActionContext();return{run(){return I(this,null,function*(){yield e.resource(`roles/${t==null?void 0:t.name}/departments`).remove({values:[o.id]}),r()})}}},gt=()=>{const{role:e}=d.useContext(U.RolesManagerContext),{t}=K(),o=n.useRequest({resource:`roles/${e==null?void 0:e.name}/departments`,action:"list",params:{appends:["parent","parent.parent(recursively=true)"]}},{ready:!!e,refreshDeps:[e]}),r=d.useMemo(()=>ut(),[e]);return s.jsx(n.ResourceActionContext.Provider,{value:o,children:s.jsx(n.CollectionProvider_deprecated,{collection:X,children:s.jsx(n.SchemaComponent,{schema:r,components:{DepartmentTable:ce,DepartmentTitle:mt},scope:{useFilterActionProps:J,useRemoveDepartment:vt,useBulkRemoveDepartments:yt,useDataSource:ht,useDisabled:ft,useAddDepartments:xt,t}})})})};class Dt extends n.Plugin{load(){return I(this,null,function*(){this.app.pm.get(U).rolesManager.add("departments",{title:L("Departments"),Component:gt})})}}const Y={name:"enableLink",type:"switch",useVisible(){return w.useField().readPretty},useComponentProps(){var p;const{t:e}=K(),t=w.useField(),{fieldSchema:o}=n.useColumnSchema(),r=w.useFieldSchema(),a=o||r,{dn:c}=n.useDesignable();return{title:e("Enable link"),checked:((p=a["x-component-props"])==null?void 0:p.enableLink)!==!1,onChange(i){a["x-component-props"]=S(f({},a==null?void 0:a["x-component-props"]),{enableLink:i}),t.componentProps.enableLink=i,c.emit("patch",{schema:{"x-uid":a["x-uid"],"x-component-props":f({},a==null?void 0:a["x-component-props"])}}),c.refresh()}}}},Z={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=K(),t=w.useField(),{fieldSchema:o,collectionField:r}=n.useColumnSchema(),a=w.useFieldSchema(),c=o||a,p=n.useFieldModeOptions({fieldSchema:o,collectionField:r}),{dn:i}=n.useDesignable();return{title:e("Field component"),options:p,value:"Select",onChange(u){const l={"x-uid":c["x-uid"]};c["x-component-props"]=c["x-component-props"]||{},c["x-component-props"].mode=u,l["x-component-props"]=c["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=u,i.emit("patch",{schema:l}),i.refresh()}}}},R={name:"titleField",type:"select",useComponentProps(){var g,h,b,F;const{t:e}=K(),t=w.useField(),{dn:o}=n.useDesignable(),r=n.useTitleFieldOptions(),{fieldSchema:a,collectionField:c}=n.useColumnSchema(),p=w.useFieldSchema(),i=a||p,u=n.useCollectionField(),l=c||u,y=((g=t==null?void 0:t.componentProps)==null?void 0:g.fieldNames)||((h=i==null?void 0:i["x-component-props"])==null?void 0:h.fieldNames)||((F=(b=l==null?void 0:l.uiSchema)==null?void 0:b["x-component-props"])==null?void 0:F.fieldNames);return{title:e("Title field"),options:r,value:y==null?void 0:y.label,onChange(C){var D,k,O,E,q,N;const v={"x-uid":i["x-uid"]},x=S(f(f({},(k=(D=l==null?void 0:l.uiSchema)==null?void 0:D["x-component-props"])==null?void 0:k.fieldNames),(O=i==null?void 0:i["x-component-props"])==null?void 0:O.fieldNames),{label:C});i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].fieldNames=x,v["x-component-props"]=i["x-component-props"],t.componentProps.fieldNames=(E=i["x-component-props"])==null?void 0:E.fieldNames;const m=(N=t.path)==null?void 0:N.splice(((q=t.path)==null?void 0:q.length)-1,1);t.form.query(`${m.concat("*."+i.name)}`).forEach(ee=>{ee.componentProps.fieldNames=x.label}),o.emit("patch",{schema:v}),o.refresh()}}}},Ct=new n.SchemaSettings({name:"fieldSettings:component:DepartmentOwnersField",items:[Z,R,Y]}),bt=new n.SchemaSettings({name:"fieldSettings:component:UserDepartmentsField",items:[Z,R,Y]}),At=new n.SchemaSettings({name:"fieldSettings:component:UserMainDepartmentField",items:[Z,R,Y]});class pe extends n.Plugin{afterAdd(){return I(this,null,function*(){this.pm.add(dt),this.pm.add(Dt)})}load(){return I(this,null,function*(){this.app.addComponents({UserDepartmentsField:H,UserMainDepartmentField:H,DepartmentOwnersField:H}),this.app.schemaSettingsManager.add(bt),this.app.schemaSettingsManager.add(At),this.app.schemaSettingsManager.add(Ct)})}}P.DepartmentsPlugin=pe,P.default=pe,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
"@tachybase/client": "1.6.
|
|
3
|
-
"@tachybase/module-collection": "1.6.
|
|
2
|
+
"@tachybase/client": "1.6.16",
|
|
3
|
+
"@tachybase/module-collection": "1.6.16",
|
|
4
4
|
"@tego/server": "1.6.10",
|
|
5
5
|
"@tachybase/schema": "1.6.10",
|
|
6
6
|
"react": "18.3.1",
|
|
7
7
|
"antd": "5.22.5",
|
|
8
|
-
"@tachybase/module-acl": "1.6.
|
|
8
|
+
"@tachybase/module-acl": "1.6.16",
|
|
9
9
|
"lodash": "4.17.21",
|
|
10
10
|
"ahooks": "3.9.0",
|
|
11
11
|
"@ant-design/icons": "6.1.0"
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tachybase/plugin-department",
|
|
3
3
|
"displayName": "Department",
|
|
4
|
-
"version": "1.6.
|
|
4
|
+
"version": "1.6.16",
|
|
5
5
|
"description": "Organize users into a hierarchical tree structure of departments, and assign roles to departments as well.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"Users & permissions"
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"antd": "5.22.5",
|
|
28
28
|
"lodash": "4.17.21",
|
|
29
29
|
"react": "18.3.1",
|
|
30
|
-
"@tachybase/client": "1.6.
|
|
31
|
-
"@tachybase/module-
|
|
32
|
-
"@tachybase/module-
|
|
30
|
+
"@tachybase/client": "1.6.16",
|
|
31
|
+
"@tachybase/module-collection": "1.6.16",
|
|
32
|
+
"@tachybase/module-acl": "1.6.16"
|
|
33
33
|
},
|
|
34
34
|
"description.zh-CN": "将用户划分在树状的部门里,也可以给部门分配角色",
|
|
35
35
|
"displayName.zh-CN": "部门"
|