@things-factory/organization 7.0.0-alpha.9 → 7.0.0

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 (179) hide show
  1. package/client/component/approval-line-brief.ts +3 -3
  2. package/client/component/approval-line-items-editor-popup.ts +22 -8
  3. package/client/component/approval-line-items-editor.ts +40 -35
  4. package/client/component/approval-line-selector.ts +9 -10
  5. package/client/component/approval-line-templates-manager.ts +9 -4
  6. package/client/component/approval-line-view.ts +15 -9
  7. package/client/component/assignees-editor-popup.ts +10 -6
  8. package/client/component/assignees-editor.ts +5 -2
  9. package/client/component/assignees-view.ts +2 -2
  10. package/client/component/department-selector.ts +9 -10
  11. package/client/component/department-view.ts +3 -1
  12. package/client/component/recipients-editor-popup.ts +10 -6
  13. package/client/component/recipients-editor.ts +10 -12
  14. package/client/component/recipients-view.ts +2 -2
  15. package/client/grist-editor/grist-editor-approval-line.ts +4 -9
  16. package/client/grist-editor/grist-editor-assignees.ts +4 -7
  17. package/client/grist-editor/grist-editor-recipients.ts +4 -10
  18. package/client/grist-editor/grist-renderer-approval-line.ts +4 -3
  19. package/client/grist-editor/grist-renderer-assignees.ts +4 -3
  20. package/client/grist-editor/grist-renderer-recipients.ts +4 -3
  21. package/client/pages/approval-line/common-approval-line-templates-page.ts +5 -5
  22. package/client/pages/approval-line/my-approval-line-templates-page.ts +7 -5
  23. package/client/pages/department/department-importer.ts +8 -19
  24. package/client/pages/department/department-list-page.ts +5 -5
  25. package/client/pages/department/department-tree-page.ts +36 -10
  26. package/client/pages/employee/employee-importer.ts +5 -12
  27. package/client/pages/employee/employee-list-page.ts +12 -31
  28. package/client/pages/employee/employees-by-department.ts +1 -6
  29. package/dist-client/component/approval-line-brief.js +3 -3
  30. package/dist-client/component/approval-line-brief.js.map +1 -1
  31. package/dist-client/component/approval-line-items-editor-popup.d.ts +2 -1
  32. package/dist-client/component/approval-line-items-editor-popup.js +21 -8
  33. package/dist-client/component/approval-line-items-editor-popup.js.map +1 -1
  34. package/dist-client/component/approval-line-items-editor.js +12 -7
  35. package/dist-client/component/approval-line-items-editor.js.map +1 -1
  36. package/dist-client/component/approval-line-selector.d.ts +1 -0
  37. package/dist-client/component/approval-line-selector.js +9 -10
  38. package/dist-client/component/approval-line-selector.js.map +1 -1
  39. package/dist-client/component/approval-line-templates-manager.d.ts +3 -2
  40. package/dist-client/component/approval-line-templates-manager.js +7 -3
  41. package/dist-client/component/approval-line-templates-manager.js.map +1 -1
  42. package/dist-client/component/approval-line-view.js +13 -9
  43. package/dist-client/component/approval-line-view.js.map +1 -1
  44. package/dist-client/component/assignees-editor-popup.d.ts +1 -0
  45. package/dist-client/component/assignees-editor-popup.js +10 -6
  46. package/dist-client/component/assignees-editor-popup.js.map +1 -1
  47. package/dist-client/component/assignees-editor.d.ts +1 -0
  48. package/dist-client/component/assignees-editor.js +5 -2
  49. package/dist-client/component/assignees-editor.js.map +1 -1
  50. package/dist-client/component/assignees-view.js +2 -2
  51. package/dist-client/component/assignees-view.js.map +1 -1
  52. package/dist-client/component/department-selector.d.ts +1 -0
  53. package/dist-client/component/department-selector.js +9 -10
  54. package/dist-client/component/department-selector.js.map +1 -1
  55. package/dist-client/component/department-view.js +3 -0
  56. package/dist-client/component/department-view.js.map +1 -1
  57. package/dist-client/component/recipients-editor-popup.d.ts +1 -0
  58. package/dist-client/component/recipients-editor-popup.js +10 -6
  59. package/dist-client/component/recipients-editor-popup.js.map +1 -1
  60. package/dist-client/component/recipients-editor.d.ts +1 -0
  61. package/dist-client/component/recipients-editor.js +10 -12
  62. package/dist-client/component/recipients-editor.js.map +1 -1
  63. package/dist-client/component/recipients-view.js +2 -2
  64. package/dist-client/component/recipients-view.js.map +1 -1
  65. package/dist-client/grist-editor/grist-editor-approval-line.d.ts +1 -0
  66. package/dist-client/grist-editor/grist-editor-approval-line.js +4 -9
  67. package/dist-client/grist-editor/grist-editor-approval-line.js.map +1 -1
  68. package/dist-client/grist-editor/grist-editor-assignees.d.ts +1 -0
  69. package/dist-client/grist-editor/grist-editor-assignees.js +4 -6
  70. package/dist-client/grist-editor/grist-editor-assignees.js.map +1 -1
  71. package/dist-client/grist-editor/grist-editor-department-object.js.map +1 -1
  72. package/dist-client/grist-editor/grist-editor-recipients.d.ts +1 -0
  73. package/dist-client/grist-editor/grist-editor-recipients.js +4 -9
  74. package/dist-client/grist-editor/grist-editor-recipients.js.map +1 -1
  75. package/dist-client/grist-editor/grist-renderer-approval-line.d.ts +1 -1
  76. package/dist-client/grist-editor/grist-renderer-approval-line.js +3 -3
  77. package/dist-client/grist-editor/grist-renderer-approval-line.js.map +1 -1
  78. package/dist-client/grist-editor/grist-renderer-assignees.d.ts +1 -1
  79. package/dist-client/grist-editor/grist-renderer-assignees.js +3 -3
  80. package/dist-client/grist-editor/grist-renderer-assignees.js.map +1 -1
  81. package/dist-client/grist-editor/grist-renderer-department-object.js.map +1 -1
  82. package/dist-client/grist-editor/grist-renderer-recipients.d.ts +1 -1
  83. package/dist-client/grist-editor/grist-renderer-recipients.js +3 -3
  84. package/dist-client/grist-editor/grist-renderer-recipients.js.map +1 -1
  85. package/dist-client/pages/approval-line/common-approval-line-templates-page.d.ts +10 -2
  86. package/dist-client/pages/approval-line/common-approval-line-templates-page.js +5 -5
  87. package/dist-client/pages/approval-line/common-approval-line-templates-page.js.map +1 -1
  88. package/dist-client/pages/approval-line/my-approval-line-templates-page.d.ts +10 -2
  89. package/dist-client/pages/approval-line/my-approval-line-templates-page.js +6 -5
  90. package/dist-client/pages/approval-line/my-approval-line-templates-page.js.map +1 -1
  91. package/dist-client/pages/department/department-importer.d.ts +1 -0
  92. package/dist-client/pages/department/department-importer.js +5 -12
  93. package/dist-client/pages/department/department-importer.js.map +1 -1
  94. package/dist-client/pages/department/department-list-page.d.ts +10 -2
  95. package/dist-client/pages/department/department-list-page.js +5 -5
  96. package/dist-client/pages/department/department-list-page.js.map +1 -1
  97. package/dist-client/pages/department/department-tree-page.d.ts +8 -0
  98. package/dist-client/pages/department/department-tree-page.js +33 -10
  99. package/dist-client/pages/department/department-tree-page.js.map +1 -1
  100. package/dist-client/pages/employee/employee-importer.d.ts +1 -0
  101. package/dist-client/pages/employee/employee-importer.js +5 -12
  102. package/dist-client/pages/employee/employee-importer.js.map +1 -1
  103. package/dist-client/pages/employee/employee-list-page.d.ts +10 -2
  104. package/dist-client/pages/employee/employee-list-page.js +8 -24
  105. package/dist-client/pages/employee/employee-list-page.js.map +1 -1
  106. package/dist-client/pages/employee/employees-by-department.js +1 -6
  107. package/dist-client/pages/employee/employees-by-department.js.map +1 -1
  108. package/dist-client/route.js.map +1 -1
  109. package/dist-client/tsconfig.tsbuildinfo +1 -1
  110. package/dist-server/index.d.ts +2 -0
  111. package/dist-server/routes.d.ts +0 -0
  112. package/dist-server/routes.js +0 -1
  113. package/dist-server/routes.js.map +1 -1
  114. package/dist-server/service/approval-line/approval-line-item.d.ts +19 -0
  115. package/dist-server/service/approval-line/approval-line-item.js +5 -5
  116. package/dist-server/service/approval-line/approval-line-item.js.map +1 -1
  117. package/dist-server/service/approval-line/approval-line-mutation.d.ts +15 -0
  118. package/dist-server/service/approval-line/approval-line-mutation.js +2 -2
  119. package/dist-server/service/approval-line/approval-line-mutation.js.map +1 -1
  120. package/dist-server/service/approval-line/approval-line-query.d.ts +17 -0
  121. package/dist-server/service/approval-line/approval-line-query.js +6 -6
  122. package/dist-server/service/approval-line/approval-line-query.js.map +1 -1
  123. package/dist-server/service/approval-line/approval-line-type.d.ts +26 -0
  124. package/dist-server/service/approval-line/approval-line-type.js +8 -8
  125. package/dist-server/service/approval-line/approval-line-type.js.map +1 -1
  126. package/dist-server/service/approval-line/approval-line.d.ts +33 -0
  127. package/dist-server/service/approval-line/approval-line.js +14 -9
  128. package/dist-server/service/approval-line/approval-line.js.map +1 -1
  129. package/dist-server/service/approval-line/index.d.ts +6 -0
  130. package/dist-server/service/department/department-history.d.ts +31 -0
  131. package/dist-server/service/department/department-history.js +15 -7
  132. package/dist-server/service/department/department-history.js.map +1 -1
  133. package/dist-server/service/department/department-mutation.d.ts +10 -0
  134. package/dist-server/service/department/department-mutation.js +2 -2
  135. package/dist-server/service/department/department-mutation.js.map +1 -1
  136. package/dist-server/service/department/department-query.d.ts +17 -0
  137. package/dist-server/service/department/department-query.js +7 -6
  138. package/dist-server/service/department/department-query.js.map +1 -1
  139. package/dist-server/service/department/department-type.d.ts +29 -0
  140. package/dist-server/service/department/department-type.js +6 -6
  141. package/dist-server/service/department/department-type.js.map +1 -1
  142. package/dist-server/service/department/department.d.ts +28 -0
  143. package/dist-server/service/department/department.js +9 -10
  144. package/dist-server/service/department/department.js.map +1 -1
  145. package/dist-server/service/department/event-subscriber.d.ts +7 -0
  146. package/dist-server/service/department/event-subscriber.js +2 -2
  147. package/dist-server/service/department/event-subscriber.js.map +1 -1
  148. package/dist-server/service/department/index.d.ts +8 -0
  149. package/dist-server/service/employee/employee-history.d.ts +41 -0
  150. package/dist-server/service/employee/employee-history.js +6 -7
  151. package/dist-server/service/employee/employee-history.js.map +1 -1
  152. package/dist-server/service/employee/employee-mutation.d.ts +12 -0
  153. package/dist-server/service/employee/employee-mutation.js +2 -2
  154. package/dist-server/service/employee/employee-mutation.js.map +1 -1
  155. package/dist-server/service/employee/employee-query.d.ts +22 -0
  156. package/dist-server/service/employee/employee-query.js +3 -3
  157. package/dist-server/service/employee/employee-query.js.map +1 -1
  158. package/dist-server/service/employee/employee-type.d.ts +56 -0
  159. package/dist-server/service/employee/employee-type.js +10 -10
  160. package/dist-server/service/employee/employee-type.js.map +1 -1
  161. package/dist-server/service/employee/employee.d.ts +49 -0
  162. package/dist-server/service/employee/employee.js +13 -15
  163. package/dist-server/service/employee/employee.js.map +1 -1
  164. package/dist-server/service/employee/event-subscriber.d.ts +7 -0
  165. package/dist-server/service/employee/event-subscriber.js +2 -2
  166. package/dist-server/service/employee/event-subscriber.js.map +1 -1
  167. package/dist-server/service/employee/index.d.ts +8 -0
  168. package/dist-server/service/index.d.ts +8 -0
  169. package/dist-server/tsconfig.tsbuildinfo +1 -1
  170. package/package.json +10 -10
  171. package/server/routes.ts +0 -2
  172. package/server/service/approval-line/approval-line-query.ts +16 -4
  173. package/server/service/approval-line/approval-line.ts +27 -7
  174. package/server/service/department/department-history.ts +31 -9
  175. package/server/service/department/department-query.ts +13 -3
  176. package/server/service/department/department.ts +3 -3
  177. package/server/service/employee/employee-history.ts +5 -5
  178. package/server/service/employee/employee-query.ts +3 -3
  179. package/server/service/employee/employee.ts +3 -3
@@ -52,7 +52,7 @@ export class ApprovalLineBrief extends localize(i18next)(LitElement) {
52
52
  margin: auto;
53
53
  background-color: rgba(0, 0, 0, 0.4);
54
54
  border-radius: 50%;
55
- color: var(--theme-white-color);
55
+ color: var(--md-sys-color-on-primary);
56
56
  line-height: 1.2;
57
57
  }
58
58
 
@@ -63,12 +63,12 @@ export class ApprovalLineBrief extends localize(i18next)(LitElement) {
63
63
 
64
64
  [current] span {
65
65
  background-color: #84d600;
66
- color: var(--theme-white-color);
66
+ color: var(--md-sys-color-on-primary);
67
67
  }
68
68
 
69
69
  [current] {
70
70
  font-weight: bold;
71
- color: var(--theme-white-color);
71
+ color: var(--md-sys-color-on-primary);
72
72
  }
73
73
 
74
74
  [past] span:before,
@@ -1,9 +1,11 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import { css, html, LitElement } from 'lit'
2
3
  import { customElement, property, query, state } from 'lit/decorators.js'
3
4
 
4
5
  import { i18next, localize } from '@operato/i18n'
5
6
  import { ButtonContainerStyles } from '@operato/styles'
6
7
  import { closePopup } from '@operato/popup'
8
+ import { OxPrompt } from '@operato/popup/ox-prompt.js'
7
9
 
8
10
  import { ApprovalLineItemsEditor } from './approval-line-items-editor'
9
11
  import { ApprovalLineItem } from '../types/approval-line'
@@ -20,7 +22,7 @@ export class ApprovalLineItemsEditorPopup extends localize(i18next)(LitElement)
20
22
  display: flex;
21
23
  flex-direction: column;
22
24
 
23
- background-color: #fff;
25
+ background-color: var(--md-sys-color-surface);
24
26
  }
25
27
 
26
28
  approval-line-items-editor {
@@ -46,10 +48,13 @@ export class ApprovalLineItemsEditorPopup extends localize(i18next)(LitElement)
46
48
  }}
47
49
  ></approval-line-items-editor>
48
50
 
49
- <div class="button-container">
50
- <mwc-button @click=${this.onEmpty.bind(this)}>${i18next.t('button.empty')}</mwc-button>
51
- <mwc-button @click=${this.onCancel.bind(this)}>${i18next.t('button.cancel')}</mwc-button>
52
- <mwc-button @click=${this.onConfirm.bind(this)}>${i18next.t('button.confirm')}</mwc-button>
51
+ <div class="button-container" style="margin-left:unset;">
52
+ <button @click=${this.onEmpty.bind(this)}>
53
+ <md-icon>check_box_outline_blank</md-icon>${i18next.t('button.empty')}
54
+ </button>
55
+ <div filler></div>
56
+ <button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>
57
+ <button @click=${this.onConfirm.bind(this)}><md-icon>done</md-icon>${i18next.t('button.confirm')}</button>
53
58
  </div>
54
59
  `
55
60
  }
@@ -58,9 +63,18 @@ export class ApprovalLineItemsEditorPopup extends localize(i18next)(LitElement)
58
63
  this.changedValue = this.value
59
64
  }
60
65
 
61
- onEmpty() {
62
- this.confirmCallback && this.confirmCallback(null)
63
- closePopup(this)
66
+ async onEmpty() {
67
+ const reaction = await OxPrompt.open({
68
+ title: i18next.t('text.are_you_sure'),
69
+ text: i18next.t('prompt.sure to empty approval line ?'),
70
+ confirmButton: { text: i18next.t('button.confirm') },
71
+ cancelButton: { text: i18next.t('button.cancel') }
72
+ })
73
+
74
+ if (reaction) {
75
+ this.confirmCallback && this.confirmCallback(null)
76
+ closePopup(this)
77
+ }
64
78
  }
65
79
 
66
80
  onCancel() {
@@ -7,7 +7,7 @@ import { customElement, property, query, state } from 'lit/decorators.js'
7
7
  import { i18next, localize } from '@operato/i18n'
8
8
  import { DataGrist, getEditor, getRenderer } from '@operato/data-grist'
9
9
  import { isMobileDevice } from '@operato/utils'
10
- import { ButtonContainerStyles } from '@operato/styles'
10
+ import { ButtonContainerStyles, CommonHeaderStyles } from '@operato/styles'
11
11
  import { openPopup, PopupHandle } from '@operato/layout'
12
12
 
13
13
  import { ApprovalLineView } from './approval-line-view'
@@ -19,13 +19,14 @@ import { ApprovalLine, ApprovalLineItem } from '../types/approval-line'
19
19
  @customElement('approval-line-items-editor')
20
20
  export class ApprovalLineItemsEditor extends localize(i18next)(LitElement) {
21
21
  static styles = [
22
+ CommonHeaderStyles,
22
23
  ButtonContainerStyles,
23
24
  css`
24
25
  :host {
25
26
  display: flex;
26
27
  flex-direction: column;
27
28
 
28
- background-color: #fff;
29
+ background-color: var(--md-sys-color-surface);
29
30
  }
30
31
 
31
32
  approval-line-view {
@@ -44,7 +45,7 @@ export class ApprovalLineItemsEditor extends localize(i18next)(LitElement) {
44
45
  `
45
46
  ]
46
47
 
47
- @property({ type: Object }) value?: ApprovalLineItem[]
48
+ @property({ type: Array }) value?: ApprovalLineItem[]
48
49
 
49
50
  @state() gristConfig?: any
50
51
 
@@ -76,10 +77,14 @@ export class ApprovalLineItemsEditor extends localize(i18next)(LitElement) {
76
77
  )
77
78
  }}
78
79
  >
79
- <div slot="headroom">
80
- <div id="select">
81
- <mwc-button @click=${this.openSelector.bind(this)}>${i18next.t('button.copy from')}</mwc-button>
82
- <mwc-button raised danger @click=${() => this.deleteDataItems()}>${i18next.t('button.delete')}</mwc-button>
80
+ <div slot="headroom" class="header">
81
+ <div class="actions">
82
+ <button @click=${this.openSelector.bind(this)}>
83
+ <md-icon>content_copy</md-icon>${i18next.t('button.copy from')}
84
+ </button>
85
+ <button danger @click=${() => this.deleteDataItems()}>
86
+ <md-icon>delete</md-icon>${i18next.t('button.delete')}
87
+ </button>
83
88
  </div>
84
89
  </div>
85
90
  </ox-grist>
@@ -132,7 +137,7 @@ export class ApprovalLineItemsEditor extends localize(i18next)(LitElement) {
132
137
  case 'Employee':
133
138
  options = {
134
139
  title: i18next.t('title.employee list'),
135
- pagination: { pages : [50, 100, 200] },
140
+ pagination: { pages: [50, 100, 200] },
136
141
  basicArgs: { filters: [{ name: 'active', operator: 'eq', value: 'true' }] },
137
142
  queryName: 'employees',
138
143
  columns: [
@@ -144,54 +149,54 @@ export class ApprovalLineItemsEditor extends localize(i18next)(LitElement) {
144
149
  filter: 'search',
145
150
  sortable: true
146
151
  },
147
- {
152
+ {
148
153
  name: 'name',
149
154
  width: 120,
150
- header: { renderer: () => i18next.t('field.name') },
155
+ header: { renderer: () => i18next.t('field.name') },
151
156
  filter: 'search',
152
157
  sortable: true
153
158
  },
154
- {
155
- name: 'alias',
159
+ {
160
+ name: 'alias',
156
161
  width: 150,
157
- header: { renderer: () => i18next.t('label.alias') },
162
+ header: { renderer: () => i18next.t('label.alias') },
158
163
  filter: 'search',
159
164
  sortable: true
160
165
  },
161
- {
162
- type: 'code',
163
- name: 'type',
166
+ {
167
+ type: 'code',
168
+ name: 'type',
164
169
  width: 110,
165
- header: { renderer: () => i18next.t('label.type') },
166
- record: {
167
- editable: false,
168
- codeName: 'EMPLOYEE_TYPE'
170
+ header: { renderer: () => i18next.t('label.type') },
171
+ record: {
172
+ editable: false,
173
+ codeName: 'EMPLOYEE_TYPE'
169
174
  }
170
175
  },
171
- {
172
- type: 'code',
173
- name: 'jobPosition',
176
+ {
177
+ type: 'code',
178
+ name: 'jobPosition',
174
179
  width: 110,
175
- header: { renderer: () => i18next.t('label.job-position') },
176
- record: {
177
- editable: false,
178
- codeName: 'JOB_POSITION'
180
+ header: { renderer: () => i18next.t('label.job-position') },
181
+ record: {
182
+ editable: false,
183
+ codeName: 'JOB_POSITION'
179
184
  }
180
185
  },
181
- {
182
- type: 'code',
183
- name: 'jobResponsibility',
186
+ {
187
+ type: 'code',
188
+ name: 'jobResponsibility',
184
189
  width: 200,
185
- header: { renderer: () => i18next.t('label.job-responsibility') },
186
- record: {
187
- editable: false,
188
- codeName: 'JOB_RESPONSIBILITY'
190
+ header: { renderer: () => i18next.t('label.job-responsibility') },
191
+ record: {
192
+ editable: false,
193
+ codeName: 'JOB_RESPONSIBILITY'
189
194
  }
190
195
  },
191
196
  {
192
197
  type: 'date',
193
198
  name: 'hiredOn',
194
- header: { renderer: () => i18next.t('field.hired-on') },
199
+ header: { renderer: () => i18next.t('field.hired-on') },
195
200
  width: 100
196
201
  }
197
202
  ],
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
  import './approval-line-view'
3
4
 
@@ -31,7 +32,7 @@ export class ApprovalLineSelector extends LitElement {
31
32
  display: flex;
32
33
  flex-direction: column;
33
34
 
34
- background-color: #fff;
35
+ background-color: var(--md-sys-color-surface);
35
36
 
36
37
  width: var(--overlay-center-normal-width, 50%);
37
38
  height: var(--overlay-center-normal-height, 50%);
@@ -44,11 +45,6 @@ export class ApprovalLineSelector extends LitElement {
44
45
  ox-grist {
45
46
  flex: 1;
46
47
  }
47
-
48
- .button-container {
49
- display: flex;
50
- margin-left: auto;
51
- }
52
48
  `
53
49
  ]
54
50
 
@@ -76,10 +72,13 @@ export class ApprovalLineSelector extends LitElement {
76
72
  >
77
73
  </ox-grist>
78
74
 
79
- <div class="button-container">
80
- <mwc-button @click=${this.onEmpty.bind(this)}>${i18next.t('button.empty')}</mwc-button>
81
- <mwc-button @click=${this.onCancel.bind(this)}>${i18next.t('button.cancel')}</mwc-button>
82
- <mwc-button @click=${this.onConfirm.bind(this)}>${i18next.t('button.confirm')}</mwc-button>
75
+ <div class="button-container" style="margin-left:unset;">
76
+ <button @click=${this.onEmpty.bind(this)}>
77
+ <md-icon>check_box_outline_blank</md-icon>${i18next.t('button.empty')}
78
+ </button>
79
+ <div filler></div>
80
+ <button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>
81
+ <button @click=${this.onConfirm.bind(this)}><md-icon>done</md-icon>${i18next.t('button.confirm')}</button>
83
82
  </div>
84
83
  `
85
84
  }
@@ -1,3 +1,5 @@
1
+ import '@material/web/icon/icon.js'
2
+
1
3
  import gql from 'graphql-tag'
2
4
  import { css, html, LitElement } from 'lit'
3
5
  import { customElement, property, query } from 'lit/decorators.js'
@@ -8,7 +10,7 @@ import { getEditor, getRenderer } from '@operato/data-grist'
8
10
  import { isMobileDevice } from '@operato/utils'
9
11
  import { ButtonContainerStyles } from '@operato/styles'
10
12
 
11
- import { ApprovalLine, ApprovalLineItem } from '../types/approval-line'
13
+ import { ApprovalLine } from '../types/approval-line'
12
14
 
13
15
  /**
14
16
  * 결재선 관리를 위해서
@@ -24,7 +26,7 @@ export class ApprovalLineTemplatesManager extends localize(i18next)(LitElement)
24
26
  display: flex;
25
27
  flex-direction: column;
26
28
 
27
- background-color: #fff;
29
+ background-color: var(--md-sys-color-surface);
28
30
  }
29
31
 
30
32
  ox-grist {
@@ -45,9 +47,12 @@ export class ApprovalLineTemplatesManager extends localize(i18next)(LitElement)
45
47
  .config=${this.gristConfig}
46
48
  .fetchHandler=${this.fetchHandler.bind(this)}
47
49
  ></ox-grist>
50
+
48
51
  <div class="button-container">
49
- <mwc-button raised danger @click=${this._deleteDataItems.bind(this)}>${i18next.t('button.delete')}</mwc-button>
50
- <mwc-button raised @click=${this._updateDataItems.bind(this)}>${i18next.t('button.save')}</mwc-button>
52
+ <button danger @click=${this._deleteDataItems.bind(this)}>
53
+ <md-icon>delete</md-icon>${i18next.t('button.delete')}
54
+ </button>
55
+ <button @click=${this._updateDataItems.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button>
51
56
  </div>
52
57
  `
53
58
  }
@@ -17,8 +17,9 @@ export class ApprovalLineView extends localize(i18next)(LitElement) {
17
17
  justify-content: center;
18
18
  align-items: center;
19
19
 
20
- --mdc-icon-size: 3em;
21
- color: var(--secondary-color, black);
20
+ --md-icon-size: 3em;
21
+ color: var(--md-sys-color-on-surface);
22
+ background-color: var(--md-sys-color-surface-variant);
22
23
  }
23
24
 
24
25
  ol {
@@ -54,19 +55,19 @@ export class ApprovalLineView extends localize(i18next)(LitElement) {
54
55
  span {
55
56
  display: block;
56
57
  margin: auto;
57
- margin-bottom: var(--margin-narrow);
58
- background-color: var(--theme-white-color);
58
+ margin-bottom: var(--spacing-small);
59
+ background-color: var(--md-sys-color-surface-variant);
59
60
  border-radius: 5px;
60
61
  border: 2px solid var(--secondary-text-color);
61
62
  font-size: var(--fontsize-small);
62
63
  color: var(--secondary-text-color);
63
64
  line-height: 1;
64
- padding: var(--padding-narrow) var(--padding-default);
65
+ padding: var(--spacing-small) var(--spacing-medium);
65
66
  }
66
67
  [approver][current] span {
67
68
  background-color: var(--secondary-text-color);
68
69
  border-color: var(--secondary-text-color);
69
- color: var(--theme-white-color);
70
+ color: var(--md-sys-color-on-primary);
70
71
  }
71
72
  [approver][current] {
72
73
  font-weight: bold;
@@ -74,7 +75,7 @@ export class ApprovalLineView extends localize(i18next)(LitElement) {
74
75
  [approver][current] ~ li span {
75
76
  background-color: rgba(0, 0, 0, 0.5);
76
77
  border-color: transparent;
77
- color: var(--theme-white-color);
78
+ color: var(--md-sys-color-on-primary);
78
79
  }
79
80
  [approver][current] ~ li:before {
80
81
  background-color: rgba(0, 0, 0, 0.4);
@@ -91,7 +92,8 @@ export class ApprovalLineView extends localize(i18next)(LitElement) {
91
92
 
92
93
  return html`
93
94
  <ol>
94
- ${this.model ? html` <li approver><span>ME</span>${i18next.t('label.myself')}</li> ` : html``} ${items.map((item, order) => this.renderItem(item, order + 1))}
95
+ ${this.model ? html` <li approver><span>ME</span>${i18next.t('label.myself')}</li> ` : html``}
96
+ ${items.map((item, order) => this.renderItem(item, order + 1))}
95
97
  </ol>
96
98
  `
97
99
  }
@@ -99,7 +101,11 @@ export class ApprovalLineView extends localize(i18next)(LitElement) {
99
101
  renderItem(item: ApprovalLineItem, order: number): TemplateResult {
100
102
  const { type, approver } = item
101
103
  const { name } = approver || {
102
- name: [OrgMemberTargetType.Myself, OrgMemberTargetType.MySupervisor, OrgMemberTargetType.MyDepartment].includes(type!) ? i18next.t(`label.${type}`) : ''
104
+ name: [OrgMemberTargetType.Myself, OrgMemberTargetType.MySupervisor, OrgMemberTargetType.MyDepartment].includes(
105
+ type!
106
+ )
107
+ ? i18next.t(`label.${type}`)
108
+ : ''
103
109
  }
104
110
 
105
111
  return html`
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import { css, html, LitElement } from 'lit'
2
3
  import { customElement, property, query, state } from 'lit/decorators.js'
3
4
 
@@ -20,7 +21,7 @@ export class AssigneesEditorPopup extends localize(i18next)(LitElement) {
20
21
  display: flex;
21
22
  flex-direction: column;
22
23
 
23
- background-color: #fff;
24
+ background-color: var(--md-sys-color-surface);
24
25
  }
25
26
 
26
27
  assignees-editor {
@@ -29,7 +30,7 @@ export class AssigneesEditorPopup extends localize(i18next)(LitElement) {
29
30
  `
30
31
  ]
31
32
 
32
- @property({ type: Object }) value?: AssigneeItem[]
33
+ @property({ type: Array }) value?: AssigneeItem[]
33
34
 
34
35
  @property({ type: Object }) confirmCallback?: (value?: AssigneeItem[] | null) => void
35
36
  @query('assignees-editor') editor!: AssigneesEditor
@@ -46,10 +47,13 @@ export class AssigneesEditorPopup extends localize(i18next)(LitElement) {
46
47
  }}
47
48
  ></assignees-editor>
48
49
 
49
- <div class="button-container">
50
- <mwc-button @click=${this.onEmpty.bind(this)}>${i18next.t('button.empty')}</mwc-button>
51
- <mwc-button @click=${this.onCancel.bind(this)}>${i18next.t('button.cancel')}</mwc-button>
52
- <mwc-button @click=${this.onConfirm.bind(this)}>${i18next.t('button.confirm')}</mwc-button>
50
+ <div class="button-container" style="margin-left:unset;">
51
+ <button @click=${this.onEmpty.bind(this)}>
52
+ <md-icon>check_box_outline_blank</md-icon>${i18next.t('button.empty')}
53
+ </button>
54
+ <div filler></div>
55
+ <button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>
56
+ <button @click=${this.onConfirm.bind(this)}><md-icon>done</md-icon>${i18next.t('button.confirm')}</button>
53
57
  </div>
54
58
  `
55
59
  }
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import './assignees-view'
2
3
 
3
4
  import { css, html, LitElement } from 'lit'
@@ -22,7 +23,7 @@ export class AssigneesEditor extends localize(i18next)(LitElement) {
22
23
  display: flex;
23
24
  flex-direction: column;
24
25
 
25
- background-color: #fff;
26
+ background-color: var(--md-sys-color-surface);
26
27
  }
27
28
 
28
29
  assignees-view {
@@ -73,7 +74,9 @@ export class AssigneesEditor extends localize(i18next)(LitElement) {
73
74
  >
74
75
  <div slot="headroom">
75
76
  <div id="select">
76
- <mwc-button raised danger @click=${() => this.deleteDataItems()}>${i18next.t('button.delete')}</mwc-button>
77
+ <button danger @click=${() => this.deleteDataItems()}>
78
+ <md-icon>delete</md-icon>${i18next.t('button.delete')}
79
+ </button>
77
80
  </div>
78
81
  </div>
79
82
  </ox-grist>
@@ -18,9 +18,9 @@ export class AssigneesView extends localize(i18next)(LitElement) {
18
18
 
19
19
  align-items: center;
20
20
 
21
- background-color: #fff;
21
+ background-color: var(--md-sys-color-surface);
22
22
 
23
- --mdc-icon-size: 3em;
23
+ --md-icon-size: 3em;
24
24
  color: var(--secondary-color, black);
25
25
  }
26
26
 
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-tree'
2
3
 
3
4
  import gql from 'graphql-tag'
@@ -46,7 +47,7 @@ export class DepartmentSelector extends LitElement {
46
47
  display: flex;
47
48
  flex-direction: column;
48
49
 
49
- background-color: #fff;
50
+ background-color: var(--md-sys-color-surface);
50
51
 
51
52
  width: var(--overlay-center-normal-width, 50%);
52
53
  height: var(--overlay-center-normal-height, 50%);
@@ -55,11 +56,6 @@ export class DepartmentSelector extends LitElement {
55
56
  ox-tree-vertical {
56
57
  flex: 1;
57
58
  }
58
-
59
- .button-container {
60
- display: flex;
61
- margin-left: auto;
62
- }
63
59
  `
64
60
  ]
65
61
 
@@ -77,10 +73,13 @@ export class DepartmentSelector extends LitElement {
77
73
  label-property="name"
78
74
  ></ox-tree-vertical>
79
75
 
80
- <div class="button-container">
81
- <mwc-button @click=${this.onEmpty.bind(this)}>${i18next.t('button.empty')}</mwc-button>
82
- <mwc-button @click=${this.onCancel.bind(this)}>${i18next.t('button.cancel')}</mwc-button>
83
- <mwc-button @click=${this.onConfirm.bind(this)}>${i18next.t('button.confirm')}</mwc-button>
76
+ <div class="button-container" style="margin-left:unset;">
77
+ <button @click=${this.onEmpty.bind(this)}>
78
+ <md-icon>check_box_outline_blank</md-icon>${i18next.t('button.empty')}
79
+ </button>
80
+ <div filler></div>
81
+ <button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>
82
+ <button @click=${this.onConfirm.bind(this)}><md-icon>done</md-icon>${i18next.t('button.confirm')}</button>
84
83
  </div>
85
84
  `
86
85
  }
@@ -6,7 +6,6 @@ import { customElement, property, query, state } from 'lit/decorators.js'
6
6
  import { ScopedElementsMixin } from '@open-wc/scoped-elements'
7
7
  import { i18next, localize } from '@operato/i18n'
8
8
  import { ScrollbarStyles } from '@operato/styles'
9
- import { getCodeByName } from '@things-factory/code-base'
10
9
 
11
10
  @customElement('department-view')
12
11
  export class DepartmentView extends localize(i18next)(ScopedElementsMixin(LitElement)) {
@@ -22,6 +21,9 @@ export class DepartmentView extends localize(i18next)(ScopedElementsMixin(LitEle
22
21
 
23
22
  ox-properties-dynamic-view {
24
23
  flex: 1;
24
+
25
+ display: flex;
26
+ flex-direction: column;
25
27
  }
26
28
  `
27
29
  ]
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import { css, html, LitElement } from 'lit'
2
3
  import { customElement, property, query, state } from 'lit/decorators.js'
3
4
 
@@ -20,7 +21,7 @@ export class RecipientsEditorPopup extends localize(i18next)(LitElement) {
20
21
  display: flex;
21
22
  flex-direction: column;
22
23
 
23
- background-color: #fff;
24
+ background-color: var(--md-sys-color-surface);
24
25
  }
25
26
 
26
27
  recipients-editor {
@@ -29,7 +30,7 @@ export class RecipientsEditorPopup extends localize(i18next)(LitElement) {
29
30
  `
30
31
  ]
31
32
 
32
- @property({ type: Object }) value?: AssigneeItem[]
33
+ @property({ type: Array }) value?: AssigneeItem[]
33
34
 
34
35
  @property({ type: Object }) confirmCallback?: (value?: AssigneeItem[] | null) => void
35
36
  @query('recipients-editor') editor!: RecipientsEditor
@@ -46,10 +47,13 @@ export class RecipientsEditorPopup extends localize(i18next)(LitElement) {
46
47
  }}
47
48
  ></recipients-editor>
48
49
 
49
- <div class="button-container">
50
- <mwc-button @click=${this.onEmpty.bind(this)}>${i18next.t('button.empty')}</mwc-button>
51
- <mwc-button @click=${this.onCancel.bind(this)}>${i18next.t('button.cancel')}</mwc-button>
52
- <mwc-button @click=${this.onConfirm.bind(this)}>${i18next.t('button.confirm')}</mwc-button>
50
+ <div class="button-container" style="margin-left:unset;">
51
+ <button @click=${this.onEmpty.bind(this)}>
52
+ <md-icon>check_box_outline_blank</md-icon>${i18next.t('button.empty')}
53
+ </button>
54
+ <div filler></div>
55
+ <button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>
56
+ <button @click=${this.onConfirm.bind(this)}><md-icon>done</md-icon>${i18next.t('button.confirm')}</button>
53
57
  </div>
54
58
  `
55
59
  }
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import './recipients-view'
2
3
 
3
4
  import { css, html, LitElement } from 'lit'
@@ -5,8 +6,8 @@ import { customElement, property, query, state } from 'lit/decorators.js'
5
6
 
6
7
  import { i18next, localize } from '@operato/i18n'
7
8
  import { DataGrist, getEditor, getRenderer } from '@operato/data-grist'
9
+ import { ButtonContainerStyles, CommonHeaderStyles } from '@operato/styles'
8
10
  import { isMobileDevice } from '@operato/utils'
9
- import { ButtonContainerStyles } from '@operato/styles'
10
11
 
11
12
  import { AssigneeItem } from '../types/org-member'
12
13
 
@@ -16,13 +17,14 @@ import { AssigneeItem } from '../types/org-member'
16
17
  @customElement('recipients-editor')
17
18
  export class RecipientsEditor extends localize(i18next)(LitElement) {
18
19
  static styles = [
20
+ CommonHeaderStyles,
19
21
  ButtonContainerStyles,
20
22
  css`
21
23
  :host {
22
24
  display: flex;
23
25
  flex-direction: column;
24
26
 
25
- background-color: #fff;
27
+ background-color: var(--md-sys-color-surface);
26
28
  }
27
29
 
28
30
  recipients-view {
@@ -32,16 +34,10 @@ export class RecipientsEditor extends localize(i18next)(LitElement) {
32
34
  ox-grist {
33
35
  flex: 1;
34
36
  }
35
-
36
- #select {
37
- display: flex;
38
- justify-content: end;
39
- padding: 10px;
40
- }
41
37
  `
42
38
  ]
43
39
 
44
- @property({ type: Object }) value?: AssigneeItem[]
40
+ @property({ type: Array }) value?: AssigneeItem[]
45
41
 
46
42
  @state() gristConfig?: any
47
43
 
@@ -71,9 +67,11 @@ export class RecipientsEditor extends localize(i18next)(LitElement) {
71
67
  )
72
68
  }}
73
69
  >
74
- <div slot="headroom">
75
- <div id="select">
76
- <mwc-button raised danger @click=${() => this.deleteDataItems()}>${i18next.t('button.delete')}</mwc-button>
70
+ <div slot="headroom" class="header">
71
+ <div id="actions">
72
+ <button danger @click=${() => this.deleteDataItems()}>
73
+ <md-icon>delete</md-icon>${i18next.t('button.delete')}
74
+ </button>
77
75
  </div>
78
76
  </div>
79
77
  </ox-grist>
@@ -18,9 +18,9 @@ export class RecipientsView extends localize(i18next)(LitElement) {
18
18
 
19
19
  align-items: center;
20
20
 
21
- background-color: #fff;
21
+ background-color: var(--md-sys-color-surface);
22
22
 
23
- --mdc-icon-size: 3em;
23
+ --md-icon-size: 3em;
24
24
  color: var(--secondary-color, black);
25
25
  }
26
26