@things-factory/organization 7.0.0-alpha.1 → 7.0.0-alpha.21

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.
Files changed (42) hide show
  1. package/client/component/approval-line-view.ts +12 -16
  2. package/client/pages/department/department-list-page.ts +308 -196
  3. package/client/pages/department/department-tree-page.ts +153 -403
  4. package/client/route.ts +4 -4
  5. package/client/types/department.ts +0 -8
  6. package/dist-client/component/approval-line-view.js +12 -14
  7. package/dist-client/component/approval-line-view.js.map +1 -1
  8. package/dist-client/pages/department/department-list-page.d.ts +12 -20
  9. package/dist-client/pages/department/department-list-page.js +308 -182
  10. package/dist-client/pages/department/department-list-page.js.map +1 -1
  11. package/dist-client/pages/department/department-tree-page.d.ts +10 -12
  12. package/dist-client/pages/department/department-tree-page.js +142 -382
  13. package/dist-client/pages/department/department-tree-page.js.map +1 -1
  14. package/dist-client/route.d.ts +1 -1
  15. package/dist-client/route.js +3 -3
  16. package/dist-client/route.js.map +1 -1
  17. package/dist-client/tsconfig.tsbuildinfo +1 -1
  18. package/dist-client/types/department.d.ts +0 -6
  19. package/dist-client/types/department.js +0 -5
  20. package/dist-client/types/department.js.map +1 -1
  21. package/dist-server/service/approval-line/approval-line.js +2 -7
  22. package/dist-server/service/approval-line/approval-line.js.map +1 -1
  23. package/dist-server/service/department/department-history.js +4 -15
  24. package/dist-server/service/department/department-history.js.map +1 -1
  25. package/dist-server/service/department/department-query.js +15 -10
  26. package/dist-server/service/department/department-query.js.map +1 -1
  27. package/dist-server/service/department/department-type.js +0 -8
  28. package/dist-server/service/department/department-type.js.map +1 -1
  29. package/dist-server/service/department/department.js +1 -15
  30. package/dist-server/service/department/department.js.map +1 -1
  31. package/dist-server/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +5 -5
  33. package/server/service/approval-line/approval-line.ts +5 -25
  34. package/server/service/department/department-history.ts +7 -31
  35. package/server/service/department/department-query.ts +13 -10
  36. package/server/service/department/department-type.ts +1 -7
  37. package/server/service/department/department.ts +0 -15
  38. package/translations/en.json +3 -0
  39. package/translations/ja.json +3 -0
  40. package/translations/ko.json +3 -0
  41. package/translations/ms.json +3 -0
  42. package/translations/zh.json +3 -0
@@ -12,17 +12,14 @@ let ApprovalLineView = class ApprovalLineView extends localize(i18next)(LitEleme
12
12
  const items = this.model || [];
13
13
  return html `
14
14
  <ol>
15
- ${this.model ? html ` <li approver><span>ME</span>${i18next.t('label.myself')}</li> ` : html ``}
16
- ${items.map((item, order) => this.renderItem(item, order + 1))}
15
+ ${this.model ? html ` <li approver><span>ME</span>${i18next.t('label.myself')}</li> ` : html ``} ${items.map((item, order) => this.renderItem(item, order + 1))}
17
16
  </ol>
18
17
  `;
19
18
  }
20
19
  renderItem(item, order) {
21
20
  const { type, approver } = item;
22
21
  const { name } = approver || {
23
- name: [OrgMemberTargetType.Myself, OrgMemberTargetType.MySupervisor, OrgMemberTargetType.MyDepartment].includes(type)
24
- ? i18next.t(`label.${type}`)
25
- : ''
22
+ name: [OrgMemberTargetType.Myself, OrgMemberTargetType.MySupervisor, OrgMemberTargetType.MyDepartment].includes(type) ? i18next.t(`label.${type}`) : ''
26
23
  };
27
24
  return html `
28
25
  <li approver ?current=${this.current == order}>
@@ -47,6 +44,7 @@ ApprovalLineView.styles = [
47
44
  }
48
45
 
49
46
  ol {
47
+ position: relative;
50
48
  margin: 0;
51
49
  padding: 0;
52
50
  display: flex;
@@ -67,8 +65,8 @@ ApprovalLineView.styles = [
67
65
  position: absolute;
68
66
  margin-left: -25px;
69
67
  margin-top: 10px;
70
- background-color:var(--secondary-text-color);
71
- opacity:.4
68
+ background-color: var(--secondary-text-color);
69
+ opacity: 0.4;
72
70
  }
73
71
 
74
72
  li:first-child:before {
@@ -81,13 +79,13 @@ ApprovalLineView.styles = [
81
79
  margin-bottom: var(--margin-narrow);
82
80
  background-color: var(--theme-white-color);
83
81
  border-radius: 5px;
84
- border:2px solid var(--secondary-text-color);
82
+ border: 2px solid var(--secondary-text-color);
85
83
  font-size: var(--fontsize-small);
86
84
  color: var(--secondary-text-color);
87
85
  line-height: 1;
88
- padding:var(--padding-narrow) var(--padding-default);
86
+ padding: var(--padding-narrow) var(--padding-default);
89
87
  }
90
- [approver][current] span{
88
+ [approver][current] span {
91
89
  background-color: var(--secondary-text-color);
92
90
  border-color: var(--secondary-text-color);
93
91
  color: var(--theme-white-color);
@@ -95,14 +93,14 @@ ApprovalLineView.styles = [
95
93
  [approver][current] {
96
94
  font-weight: bold;
97
95
  }
98
- [approver][current] ~ li span{
96
+ [approver][current] ~ li span {
99
97
  background-color: rgba(0, 0, 0, 0.5);
100
98
  border-color: transparent;
101
99
  color: var(--theme-white-color);
102
100
  }
103
- [approver][current] ~ li:before{
104
- background-color:rgba(0,0,0,.4);
105
- opacity:1
101
+ [approver][current] ~ li:before {
102
+ background-color: rgba(0, 0, 0, 0.4);
103
+ opacity: 1;
106
104
  }
107
105
  `
108
106
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"approval-line-view.js","sourceRoot":"","sources":["../../client/component/approval-line-view.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAGlD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAA5D;;QA6EuB,YAAO,GAAY,CAAC,CAAC,CAAA;IA8BnD,CAAC;IA5BC,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;QAE9B,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA,gCAAgC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE;UAC3F,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;;KAEjE,CAAA;IACH,CAAC;IAED,UAAU,CAAC,IAAsB,EAAE,KAAa;QAC9C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,IAAI;YAC3B,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,QAAQ,CAC7G,IAAK,CACN;gBACC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC5B,CAAC,CAAC,EAAE;SACP,CAAA;QAED,OAAO,IAAI,CAAA;8BACe,IAAI,CAAC,OAAO,IAAI,KAAK;gBACnC,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;UAChC,IAAI;;KAET,CAAA;IACH,CAAC;;AAzGM,uBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuEF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CAA2B;AACtD;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDAAsB;AA7EtC,gBAAgB;IAD5B,aAAa,CAAC,oBAAoB,CAAC;GACvB,gBAAgB,CA2G5B;SA3GY,gBAAgB","sourcesContent":["import { css, html, LitElement, TemplateResult } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { ApprovalLineItem } from '../types/approval-line'\nimport { OrgMemberTargetType } from '../types/org-member'\n\n@customElement('approval-line-view')\nexport class ApprovalLineView extends localize(i18next)(LitElement) {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n padding: 10px;\n justify-content: center;\n align-items: center;\n\n --mdc-icon-size: 3em;\n color: var(--secondary-color, black);\n }\n\n ol {\n margin: 0;\n padding: 0;\n display: flex;\n gap: 25px;\n list-style-type: none;\n }\n\n li {\n text-align: center;\n font-size: var(--fontsize-default);\n }\n\n li:before {\n content: '';\n height: 2px;\n width: 25px;\n display: block;\n position: absolute;\n margin-left: -25px;\n margin-top: 10px;\n background-color:var(--secondary-text-color);\n opacity:.4\n }\n\n li:first-child:before {\n display: none;\n }\n\n span {\n display: block;\n margin: auto;\n margin-bottom: var(--margin-narrow);\n background-color: var(--theme-white-color);\n border-radius: 5px;\n border:2px solid var(--secondary-text-color);\n font-size: var(--fontsize-small);\n color: var(--secondary-text-color);\n line-height: 1;\n padding:var(--padding-narrow) var(--padding-default);\n }\n [approver][current] span{\n background-color: var(--secondary-text-color);\n border-color: var(--secondary-text-color);\n color: var(--theme-white-color);\n }\n [approver][current] {\n font-weight: bold;\n }\n [approver][current] ~ li span{\n background-color: rgba(0, 0, 0, 0.5);\n border-color: transparent;\n color: var(--theme-white-color);\n }\n [approver][current] ~ li:before{\n background-color:rgba(0,0,0,.4);\n opacity:1\n }\n `\n ]\n\n @property({ type: Object }) model?: ApprovalLineItem[]\n @property({ type: Number }) current?: number = -1\n\n render() {\n const items = this.model || []\n\n return html`\n <ol>\n ${this.model ? html` <li approver><span>ME</span>${i18next.t('label.myself')}</li> ` : html``}\n ${items.map((item, order) => this.renderItem(item, order + 1))}\n </ol>\n `\n }\n\n renderItem(item: ApprovalLineItem, order: number): TemplateResult {\n const { type, approver } = item\n const { name } = approver || {\n name: [OrgMemberTargetType.Myself, OrgMemberTargetType.MySupervisor, OrgMemberTargetType.MyDepartment].includes(\n type!\n )\n ? i18next.t(`label.${type}`)\n : ''\n }\n\n return html`\n <li approver ?current=${this.current == order}>\n <span>${i18next.t('label.' + type)}</span>\n ${name}\n </li>\n `\n }\n}\n"]}
1
+ {"version":3,"file":"approval-line-view.js","sourceRoot":"","sources":["../../client/component/approval-line-view.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAGlD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAA5D;;QA8EuB,YAAO,GAAY,CAAC,CAAC,CAAA;IAyBnD,CAAC;IAvBC,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;QAE9B,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA,gCAAgC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;;KAEhK,CAAA;IACH,CAAC;IAED,UAAU,CAAC,IAAsB,EAAE,KAAa;QAC9C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,IAAI;YAC3B,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;SACzJ,CAAA;QAED,OAAO,IAAI,CAAA;8BACe,IAAI,CAAC,OAAO,IAAI,KAAK;gBACnC,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;UAChC,IAAI;;KAET,CAAA;IACH,CAAC;;AArGM,uBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwEF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CAA2B;AACtD;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDAAsB;AA9EtC,gBAAgB;IAD5B,aAAa,CAAC,oBAAoB,CAAC;GACvB,gBAAgB,CAuG5B;SAvGY,gBAAgB","sourcesContent":["import { css, html, LitElement, TemplateResult } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { ApprovalLineItem } from '../types/approval-line'\nimport { OrgMemberTargetType } from '../types/org-member'\n\n@customElement('approval-line-view')\nexport class ApprovalLineView extends localize(i18next)(LitElement) {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n padding: 10px;\n justify-content: center;\n align-items: center;\n\n --mdc-icon-size: 3em;\n color: var(--secondary-color, black);\n }\n\n ol {\n position: relative;\n margin: 0;\n padding: 0;\n display: flex;\n gap: 25px;\n list-style-type: none;\n }\n\n li {\n text-align: center;\n font-size: var(--fontsize-default);\n }\n\n li:before {\n content: '';\n height: 2px;\n width: 25px;\n display: block;\n position: absolute;\n margin-left: -25px;\n margin-top: 10px;\n background-color: var(--secondary-text-color);\n opacity: 0.4;\n }\n\n li:first-child:before {\n display: none;\n }\n\n span {\n display: block;\n margin: auto;\n margin-bottom: var(--margin-narrow);\n background-color: var(--theme-white-color);\n border-radius: 5px;\n border: 2px solid var(--secondary-text-color);\n font-size: var(--fontsize-small);\n color: var(--secondary-text-color);\n line-height: 1;\n padding: var(--padding-narrow) var(--padding-default);\n }\n [approver][current] span {\n background-color: var(--secondary-text-color);\n border-color: var(--secondary-text-color);\n color: var(--theme-white-color);\n }\n [approver][current] {\n font-weight: bold;\n }\n [approver][current] ~ li span {\n background-color: rgba(0, 0, 0, 0.5);\n border-color: transparent;\n color: var(--theme-white-color);\n }\n [approver][current] ~ li:before {\n background-color: rgba(0, 0, 0, 0.4);\n opacity: 1;\n }\n `\n ]\n\n @property({ type: Object }) model?: ApprovalLineItem[]\n @property({ type: Number }) current?: number = -1\n\n render() {\n const items = this.model || []\n\n return html`\n <ol>\n ${this.model ? html` <li approver><span>ME</span>${i18next.t('label.myself')}</li> ` : html``} ${items.map((item, order) => this.renderItem(item, order + 1))}\n </ol>\n `\n }\n\n renderItem(item: ApprovalLineItem, order: number): TemplateResult {\n const { type, approver } = item\n const { name } = approver || {\n name: [OrgMemberTargetType.Myself, OrgMemberTargetType.MySupervisor, OrgMemberTargetType.MyDepartment].includes(type!) ? i18next.t(`label.${type}`) : ''\n }\n\n return html`\n <li approver ?current=${this.current == order}>\n <span>${i18next.t('label.' + type)}</span>\n ${name}\n </li>\n `\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import '@operato/data-tree';
2
2
  import '@operato/context/ox-context-page-toolbar.js';
3
3
  import { PageView } from '@operato/shell';
4
+ import { FetchOption } from '@operato/data-grist';
4
5
  import { DepartmentImporter } from './department-importer';
5
6
  import { Department } from '../../types/department';
6
- import { DepartmentView } from '../../component/department-view';
7
7
  declare const DepartmentListPage_base: (new (...args: any[]) => {
8
8
  _storeUnsubscribe: import("redux").Unsubscribe;
9
9
  connectedCallback(): void;
@@ -18,34 +18,26 @@ export declare class DepartmentListPage extends DepartmentListPage_base {
18
18
  };
19
19
  root?: Department;
20
20
  selected?: Department;
21
- departmentView: DepartmentView;
21
+ private grist;
22
22
  get context(): {
23
23
  title: string;
24
24
  help: string;
25
- actions: ({
25
+ actions: {
26
26
  icon: string;
27
27
  title: string;
28
- action: () => void;
29
- } | null)[];
30
- exportable: {
31
- name: string;
32
- data: () => Promise<void>;
33
- };
34
- importable: {
35
- handler: (records: any) => Promise<void>;
36
- };
28
+ action: () => Promise<void>;
29
+ }[];
37
30
  toolbar: boolean;
38
31
  };
32
+ gristConfig: any;
39
33
  render(): import("lit-html").TemplateResult<1>;
40
- onSelect(e: CustomEvent): void;
41
- reset(): void;
42
- create(): Promise<void>;
43
- save(): Promise<void>;
44
- delete(): Promise<void>;
34
+ fetchHandler({ page, limit, sortings, filters }: FetchOption): Promise<{
35
+ total: any;
36
+ records: any;
37
+ }>;
45
38
  pageInitialized(lifecycle: any): Promise<void>;
46
39
  pageUpdated(changes: any, lifecycle: any): Promise<void>;
47
- fetch(): Promise<void>;
48
- exportHandler(): Promise<void>;
49
- importHandler(records: any): Promise<void>;
40
+ delete(): Promise<void>;
41
+ save(): Promise<void>;
50
42
  }
51
43
  export {};