@things-factory/worklist-client 6.0.24

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 (142) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/assets/images/gangsters-512x512.png +0 -0
  3. package/client/bootstrap.ts +1 -0
  4. package/client/index.ts +0 -0
  5. package/client/pages/work-center/work-center-importer.ts +97 -0
  6. package/client/pages/work-center/work-center-list-page.ts +332 -0
  7. package/client/pages/work-center/work-center-page.ts +95 -0
  8. package/client/route.ts +7 -0
  9. package/client/tsconfig.json +11 -0
  10. package/dist-client/bootstrap.d.ts +1 -0
  11. package/dist-client/bootstrap.js +2 -0
  12. package/dist-client/bootstrap.js.map +1 -0
  13. package/dist-client/index.d.ts +0 -0
  14. package/dist-client/index.js +2 -0
  15. package/dist-client/index.js.map +1 -0
  16. package/dist-client/pages/work-center/work-center-importer.d.ts +22 -0
  17. package/dist-client/pages/work-center/work-center-importer.js +100 -0
  18. package/dist-client/pages/work-center/work-center-importer.js.map +1 -0
  19. package/dist-client/pages/work-center/work-center-list-page.d.ts +62 -0
  20. package/dist-client/pages/work-center/work-center-list-page.js +317 -0
  21. package/dist-client/pages/work-center/work-center-list-page.js.map +1 -0
  22. package/dist-client/pages/work-center/work-center-page.d.ts +26 -0
  23. package/dist-client/pages/work-center/work-center-page.js +92 -0
  24. package/dist-client/pages/work-center/work-center-page.js.map +1 -0
  25. package/dist-client/route.d.ts +1 -0
  26. package/dist-client/route.js +8 -0
  27. package/dist-client/route.js.map +1 -0
  28. package/dist-client/tsconfig.tsbuildinfo +1 -0
  29. package/dist-server/controllers/activity-registry.js +17 -0
  30. package/dist-server/controllers/activity-registry.js.map +1 -0
  31. package/dist-server/controllers/graphql-client.js +60 -0
  32. package/dist-server/controllers/graphql-client.js.map +1 -0
  33. package/dist-server/controllers/index.js +8 -0
  34. package/dist-server/controllers/index.js.map +1 -0
  35. package/dist-server/controllers/webhooks/decorators.js +17 -0
  36. package/dist-server/controllers/webhooks/decorators.js.map +1 -0
  37. package/dist-server/controllers/webhooks/index.js +48 -0
  38. package/dist-server/controllers/webhooks/index.js.map +1 -0
  39. package/dist-server/controllers/work-center/connect-work-center.js +17 -0
  40. package/dist-server/controllers/work-center/connect-work-center.js.map +1 -0
  41. package/dist-server/controllers/work-center/get-work-center.js +13 -0
  42. package/dist-server/controllers/work-center/get-work-center.js.map +1 -0
  43. package/dist-server/controllers/work-center/index.js +6 -0
  44. package/dist-server/controllers/work-center/index.js.map +1 -0
  45. package/dist-server/controllers/worklist-api/assign-activity-thread.js +6 -0
  46. package/dist-server/controllers/worklist-api/assign-activity-thread.js.map +1 -0
  47. package/dist-server/controllers/worklist-api/draft-activity-instance.js +6 -0
  48. package/dist-server/controllers/worklist-api/draft-activity-instance.js.map +1 -0
  49. package/dist-server/controllers/worklist-api/get-activity-list.js +6 -0
  50. package/dist-server/controllers/worklist-api/get-activity-list.js.map +1 -0
  51. package/dist-server/controllers/worklist-api/get-activity.js +6 -0
  52. package/dist-server/controllers/worklist-api/get-activity.js.map +1 -0
  53. package/dist-server/controllers/worklist-api/get-todo-list.js +6 -0
  54. package/dist-server/controllers/worklist-api/get-todo-list.js.map +1 -0
  55. package/dist-server/controllers/worklist-api/index.js +11 -0
  56. package/dist-server/controllers/worklist-api/index.js.map +1 -0
  57. package/dist-server/controllers/worklist-api/register-activity.js +6 -0
  58. package/dist-server/controllers/worklist-api/register-activity.js.map +1 -0
  59. package/dist-server/controllers/worklist-api/unregister-activity.js +6 -0
  60. package/dist-server/controllers/worklist-api/unregister-activity.js.map +1 -0
  61. package/dist-server/controllers/worklist-api/update-activity.js +6 -0
  62. package/dist-server/controllers/worklist-api/update-activity.js.map +1 -0
  63. package/dist-server/index.js +8 -0
  64. package/dist-server/index.js.map +1 -0
  65. package/dist-server/middlewares/index.js +8 -0
  66. package/dist-server/middlewares/index.js.map +1 -0
  67. package/dist-server/migrations/index.js +12 -0
  68. package/dist-server/migrations/index.js.map +1 -0
  69. package/dist-server/routes.js +42 -0
  70. package/dist-server/routes.js.map +1 -0
  71. package/dist-server/service/activity/activity-model-type.js +138 -0
  72. package/dist-server/service/activity/activity-model-type.js.map +1 -0
  73. package/dist-server/service/activity/activity-mutation.js +105 -0
  74. package/dist-server/service/activity/activity-mutation.js.map +1 -0
  75. package/dist-server/service/activity/activity-query.js +87 -0
  76. package/dist-server/service/activity/activity-query.js.map +1 -0
  77. package/dist-server/service/activity/activity-type.js +199 -0
  78. package/dist-server/service/activity/activity-type.js.map +1 -0
  79. package/dist-server/service/activity/activity.js +170 -0
  80. package/dist-server/service/activity/activity.js.map +1 -0
  81. package/dist-server/service/activity/index.js +9 -0
  82. package/dist-server/service/activity/index.js.map +1 -0
  83. package/dist-server/service/index.js +28 -0
  84. package/dist-server/service/index.js.map +1 -0
  85. package/dist-server/service/work-center/event-subscriber.js +21 -0
  86. package/dist-server/service/work-center/event-subscriber.js.map +1 -0
  87. package/dist-server/service/work-center/index.js +12 -0
  88. package/dist-server/service/work-center/index.js.map +1 -0
  89. package/dist-server/service/work-center/work-center-history.js +123 -0
  90. package/dist-server/service/work-center/work-center-history.js.map +1 -0
  91. package/dist-server/service/work-center/work-center-mutation.js +168 -0
  92. package/dist-server/service/work-center/work-center-mutation.js.map +1 -0
  93. package/dist-server/service/work-center/work-center-query.js +97 -0
  94. package/dist-server/service/work-center/work-center-query.js.map +1 -0
  95. package/dist-server/service/work-center/work-center-type.js +86 -0
  96. package/dist-server/service/work-center/work-center-type.js.map +1 -0
  97. package/dist-server/service/work-center/work-center.js +86 -0
  98. package/dist-server/service/work-center/work-center.js.map +1 -0
  99. package/dist-server/tsconfig.tsbuildinfo +1 -0
  100. package/helps/worklist-webhook/work-center.md +160 -0
  101. package/package.json +36 -0
  102. package/server/controllers/activity-registry.ts +17 -0
  103. package/server/controllers/graphql-client.ts +68 -0
  104. package/server/controllers/index.ts +4 -0
  105. package/server/controllers/webhooks/decorators.ts +18 -0
  106. package/server/controllers/webhooks/index.ts +30 -0
  107. package/server/controllers/work-center/connect-work-center.ts +15 -0
  108. package/server/controllers/work-center/get-work-center.ts +9 -0
  109. package/server/controllers/work-center/index.ts +2 -0
  110. package/server/controllers/worklist-api/assign-activity-thread.ts +3 -0
  111. package/server/controllers/worklist-api/draft-activity-instance.ts +3 -0
  112. package/server/controllers/worklist-api/get-activity-list.ts +3 -0
  113. package/server/controllers/worklist-api/get-activity.ts +3 -0
  114. package/server/controllers/worklist-api/get-todo-list.ts +4 -0
  115. package/server/controllers/worklist-api/index.ts +7 -0
  116. package/server/controllers/worklist-api/register-activity.ts +3 -0
  117. package/server/controllers/worklist-api/unregister-activity.ts +3 -0
  118. package/server/controllers/worklist-api/update-activity.ts +3 -0
  119. package/server/index.ts +5 -0
  120. package/server/middlewares/index.ts +3 -0
  121. package/server/migrations/index.ts +9 -0
  122. package/server/routes.ts +46 -0
  123. package/server/service/activity/activity-model-type.ts +106 -0
  124. package/server/service/activity/activity-mutation.ts +85 -0
  125. package/server/service/activity/activity-query.ts +61 -0
  126. package/server/service/activity/activity-type.ts +146 -0
  127. package/server/service/activity/activity.ts +135 -0
  128. package/server/service/activity/index.ts +6 -0
  129. package/server/service/index.ts +36 -0
  130. package/server/service/work-center/event-subscriber.ts +17 -0
  131. package/server/service/work-center/index.ts +9 -0
  132. package/server/service/work-center/work-center-history.ts +110 -0
  133. package/server/service/work-center/work-center-mutation.ts +198 -0
  134. package/server/service/work-center/work-center-query.ts +62 -0
  135. package/server/service/work-center/work-center-type.ts +61 -0
  136. package/server/service/work-center/work-center.ts +76 -0
  137. package/server/tsconfig.json +10 -0
  138. package/things-factory.config.js +11 -0
  139. package/translations/en.json +1 -0
  140. package/translations/ko.json +1 -0
  141. package/translations/ms.json +1 -0
  142. package/translations/zh.json +1 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,8 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
+ and adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
+
8
+ <!-- ## [Unreleased] -->
@@ -0,0 +1 @@
1
+ export default function bootstrap() {}
File without changes
@@ -0,0 +1,97 @@
1
+ import '@operato/data-grist'
2
+
3
+ import gql from 'graphql-tag'
4
+ import { css, html, LitElement } from 'lit'
5
+ import { property } from 'lit/decorators.js'
6
+
7
+ import { client } from '@operato/graphql'
8
+ import { i18next } from '@operato/i18n'
9
+ import { isMobileDevice } from '@operato/utils'
10
+
11
+ export class WorkCenterImporter extends LitElement {
12
+ static styles = [
13
+ css`
14
+ :host {
15
+ display: flex;
16
+ flex-direction: column;
17
+
18
+ background-color: #fff;
19
+ }
20
+
21
+ ox-grist {
22
+ flex: 1;
23
+ }
24
+
25
+ .button-container {
26
+ display: flex;
27
+ margin-left: auto;
28
+ padding: var(--padding-default);
29
+ }
30
+
31
+ mwc-button {
32
+ margin-left: var(--margin-default);
33
+ }
34
+ `
35
+ ]
36
+
37
+ @property({ type: Array }) workCenters: any[] = []
38
+ @property({ type: Object }) columns = {
39
+ list: { fields: ['name', 'description'] },
40
+ pagination: { infinite: true },
41
+ columns: [
42
+ {
43
+ type: 'string',
44
+ name: 'name',
45
+ header: i18next.t('field.name'),
46
+ width: 150
47
+ },
48
+ {
49
+ type: 'string',
50
+ name: 'description',
51
+ header: i18next.t('field.description'),
52
+ width: 200
53
+ },
54
+ {
55
+ type: 'checkbox',
56
+ name: 'active',
57
+ header: i18next.t('field.active'),
58
+ width: 60
59
+ }
60
+ ]
61
+ }
62
+
63
+
64
+ render() {
65
+ return html`
66
+ <ox-grist
67
+ .mode=${isMobileDevice() ? 'LIST' : 'GRID'}
68
+ .config=${this.columns}
69
+ .data=${
70
+ {
71
+ records: this.workCenters
72
+ }
73
+ }
74
+ ></ox-grist>
75
+
76
+ <div class="button-container">
77
+ <mwc-button raised @click="${this.save.bind(this)}">${i18next.t('button.save')}</mwc-button>
78
+ </div>
79
+ `
80
+ }
81
+
82
+ async save() {
83
+ const response = await client.mutate({
84
+ mutation: gql`
85
+ mutation importWorkCenters($workCenters: [WorkCenterPatch!]!) {
86
+ importWorkCenters(workCenters: $workCenters)
87
+ }
88
+ `,
89
+ variables: { workCenters: this.workCenters }
90
+ })
91
+
92
+ if (response.errors?.length) return
93
+
94
+ this.dispatchEvent(new CustomEvent('imported'))
95
+ }
96
+ }
97
+
@@ -0,0 +1,332 @@
1
+ import '@operato/data-grist'
2
+
3
+ import { CommonButtonStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles'
4
+ import { PageView, store } from '@operato/shell'
5
+ import { css, html } from 'lit'
6
+ import { customElement, property, query } from 'lit/decorators.js'
7
+ import { ScopedElementsMixin } from '@open-wc/scoped-elements'
8
+ import { ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'
9
+ import { client } from '@operato/graphql'
10
+ import { i18next, localize } from '@operato/i18n'
11
+ import { notify, openPopup } from '@operato/layout'
12
+ import { OxPopup } from '@operato/popup'
13
+ import { isMobileDevice } from '@operato/utils'
14
+
15
+ import { connect } from 'pwa-helpers/connect-mixin'
16
+ import gql from 'graphql-tag'
17
+
18
+ import { WorkCenterImporter } from './work-center-importer'
19
+
20
+ @customElement('work-center-list-page')
21
+ export class WorkCenterListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
22
+ static styles = [
23
+ ScrollbarStyles,
24
+ CommonGristStyles,
25
+ css`
26
+ :host {
27
+ display: flex;
28
+
29
+ width: 100%;
30
+
31
+ --grid-record-emphasized-background-color: red;
32
+ --grid-record-emphasized-color: yellow;
33
+ }
34
+ `
35
+ ]
36
+
37
+ static get scopedElements() {
38
+ return {
39
+ 'work-center-importer': WorkCenterImporter
40
+ }
41
+ }
42
+
43
+ @property({ type: Object }) gristConfig: any
44
+ @property({ type: String }) mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'
45
+
46
+ @query('ox-grist') private grist!: DataGrist
47
+ @query('#sorter-control') private sortersControl!: OxPopup
48
+
49
+ get context() {
50
+ return {
51
+ search: {
52
+ handler: (search: string) => {
53
+ this.grist.searchText = search
54
+ },
55
+ placeholder: i18next.t('title.work-center list'),
56
+ value: this.grist.searchText
57
+ },
58
+ filter: {
59
+ handler: () => {
60
+ this.grist.toggleHeadroom()
61
+ }
62
+ },
63
+ help: 'worklist-client/work-center',
64
+ actions: [
65
+ {
66
+ title: i18next.t('button.save'),
67
+ action: this._updateWorkCenter.bind(this),
68
+ ...CommonButtonStyles.save
69
+ },
70
+ {
71
+ title: i18next.t('button.delete'),
72
+ action: this._deleteWorkCenter.bind(this),
73
+ ...CommonButtonStyles.delete
74
+ }
75
+ ],
76
+ exportable: {
77
+ name: i18next.t('title.work-center list'),
78
+ data: this.exportHandler.bind(this)
79
+ },
80
+ importable: {
81
+ handler: this.importHandler.bind(this)
82
+ }
83
+ }
84
+ }
85
+
86
+ render() {
87
+ const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
88
+
89
+ return html`
90
+ <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
91
+ <div slot="headroom">
92
+ <div id="filters">
93
+ <ox-filters-form autofocus></ox-filters-form>
94
+ </div>
95
+
96
+ <div id="sorters">
97
+ Sort
98
+ <mwc-icon
99
+ @click=${e => {
100
+ const target = e.currentTarget
101
+ this.sortersControl.open({
102
+ right: 0,
103
+ top: target.offsetTop + target.offsetHeight
104
+ })
105
+ }}
106
+ >expand_more</mwc-icon
107
+ >
108
+ <ox-popup id="sorter-control">
109
+ <ox-sorters-control> </ox-sorters-control>
110
+ </ox-popup>
111
+ </div>
112
+
113
+ <div id="modes">
114
+ <mwc-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</mwc-icon>
115
+ <mwc-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</mwc-icon>
116
+ <mwc-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</mwc-icon>
117
+ </div>
118
+ </div>
119
+ </ox-grist>
120
+ `
121
+ }
122
+
123
+ async pageInitialized(lifecycle: any) {
124
+ this.gristConfig = {
125
+ list: {
126
+ fields: ['name', 'description'],
127
+ details: ['active', 'updatedAt']
128
+ },
129
+ columns: [
130
+ { type: 'gutter', gutterName: 'sequence' },
131
+ { type: 'gutter', gutterName: 'row-selector', multiple: true },
132
+ {
133
+ type: 'string',
134
+ name: 'name',
135
+ header: i18next.t('field.name'),
136
+ record: {
137
+ editable: true
138
+ },
139
+ filter: 'search',
140
+ sortable: true,
141
+ width: 150
142
+ },
143
+ {
144
+ type: 'string',
145
+ name: 'description',
146
+ header: i18next.t('field.description'),
147
+ record: {
148
+ editable: true
149
+ },
150
+ filter: 'search',
151
+ width: 200
152
+ },
153
+ {
154
+ type: 'checkbox',
155
+ name: 'active',
156
+ label: true,
157
+ header: i18next.t('field.active'),
158
+ record: {
159
+ editable: true
160
+ },
161
+ filter: true,
162
+ sortable: true,
163
+ width: 60
164
+ },
165
+ {
166
+ type: 'resource-object',
167
+ name: 'updater',
168
+ header: i18next.t('field.updater'),
169
+ record: {
170
+ editable: false
171
+ },
172
+ sortable: true,
173
+ width: 120
174
+ },
175
+ {
176
+ type: 'datetime',
177
+ name: 'updatedAt',
178
+ header: i18next.t('field.updated_at'),
179
+ record: {
180
+ editable: false
181
+ },
182
+ sortable: true,
183
+ width: 180
184
+ }
185
+ ],
186
+ rows: {
187
+ selectable: {
188
+ multiple: true
189
+ }
190
+ },
191
+ sorters: [
192
+ {
193
+ name: 'name'
194
+ }
195
+ ]
196
+ }
197
+ }
198
+
199
+ async pageUpdated(changes: any, lifecycle: any) {
200
+ if (this.active) {
201
+ // do something here when this page just became as active
202
+ }
203
+ }
204
+
205
+ async fetchHandler({ page = 1, limit = 100, sortings = [], filters = [] }: FetchOption) {
206
+ const response = await client.query({
207
+ query: gql`
208
+ query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
209
+ responses: workCenters(filters: $filters, pagination: $pagination, sortings: $sortings) {
210
+ items {
211
+ id
212
+ name
213
+ description
214
+ active
215
+ updater {
216
+ id
217
+ name
218
+ }
219
+ updatedAt
220
+ }
221
+ total
222
+ }
223
+ }
224
+ `,
225
+ variables: {
226
+ filters,
227
+ pagination: { page, limit },
228
+ sortings
229
+ }
230
+ })
231
+
232
+ return {
233
+ total: response.data.responses.total || 0,
234
+ records: response.data.responses.items || []
235
+ }
236
+ }
237
+
238
+ async _deleteWorkCenter() {
239
+ if (confirm(i18next.t('text.sure_to_x', { x: i18next.t('text.delete') }))) {
240
+ const ids = this.grist.selected.map(record => record.id)
241
+ if (ids && ids.length > 0) {
242
+ const response = await client.mutate({
243
+ mutation: gql`
244
+ mutation ($ids: [String!]!) {
245
+ deleteWorkCenters(ids: $ids)
246
+ }
247
+ `,
248
+ variables: {
249
+ ids
250
+ }
251
+ })
252
+
253
+ if (!response.errors) {
254
+ this.grist.fetch()
255
+ notify({
256
+ message: i18next.t('text.info_x_successfully', { x: i18next.t('text.delete') })
257
+ })
258
+ }
259
+ }
260
+ }
261
+ }
262
+
263
+ async _updateWorkCenter() {
264
+ let patches = this.grist.dirtyRecords
265
+ if (patches && patches.length) {
266
+ patches = patches.map(patch => {
267
+ let patchField: any = patch.id ? { id: patch.id } : {}
268
+ const dirtyFields = patch.__dirtyfields__
269
+ for (let key in dirtyFields) {
270
+ patchField[key] = dirtyFields[key].after
271
+ }
272
+ patchField.cuFlag = patch.__dirty__
273
+
274
+ return patchField
275
+ })
276
+
277
+ const response = await client.mutate({
278
+ mutation: gql`
279
+ mutation ($patches: [WorkCenterPatch!]!) {
280
+ updateMultipleWorkCenter(patches: $patches) {
281
+ name
282
+ }
283
+ }
284
+ `,
285
+ variables: {
286
+ patches
287
+ }
288
+ })
289
+
290
+ if (!response.errors) {
291
+ this.grist.fetch()
292
+ }
293
+ }
294
+ }
295
+
296
+ async exportHandler() {
297
+ const exportTargets = this.grist.selected.length ? this.grist.selected : this.grist.dirtyData.records
298
+ const targetFieldSet = new Set(['id', 'name', 'description', 'active'])
299
+
300
+ return exportTargets.map(workCenter => {
301
+ let tempObj = {}
302
+ for (const field of targetFieldSet) {
303
+ tempObj[field] = workCenter[field]
304
+ }
305
+
306
+ return tempObj
307
+ })
308
+ }
309
+
310
+ async importHandler(records) {
311
+ const popup = openPopup(
312
+ html`
313
+ <work-center-importer
314
+ .workCenters=${records}
315
+ @imported=${() => {
316
+ history.back()
317
+ this.grist.fetch()
318
+ }}
319
+ ></work-center-importer>
320
+ `,
321
+ {
322
+ backdrop: true,
323
+ size: 'large',
324
+ title: i18next.t('title.import work-center')
325
+ }
326
+ )
327
+
328
+ popup.onclosed = () => {
329
+ this.grist.fetch()
330
+ }
331
+ }
332
+ }
@@ -0,0 +1,95 @@
1
+ import { PropertyValues, html, css } from 'lit'
2
+ import { customElement, property } from 'lit/decorators.js'
3
+ import { connect } from 'pwa-helpers/connect-mixin.js'
4
+ import { store, PageView } from '@operato/shell'
5
+
6
+ const logo = new URL('/assets/images/gangsters-512x512.png', import.meta.url).href
7
+
8
+ /**
9
+ * 이 페이지는 Operato-Gangsters에 대한 설정 및 관리, 대시보드 페이지이다.
10
+ * - 연결 상태를 확인한다.
11
+ * - 클라이언트들에 의해서 등록된 Activity들을 확인한다. (예를 들면, 회의록 작성, CVR 작성, 견적서 작성 등)
12
+ * - 기본 대시보드를 제공한다. (Activity 처리 월별 추이, 현재 액티비티 상태별 현황, TOP 5s, Organization 현황)
13
+ * - 관리 기능..
14
+ */
15
+ @customElement('work-center-page')
16
+ export class WorkCenterPage extends connect(store)(PageView) {
17
+ static styles = [
18
+ css`
19
+ :host {
20
+ display: block;
21
+ }
22
+ `
23
+ ]
24
+
25
+ render() {
26
+ return html` <img src=${logo} /> `
27
+ }
28
+
29
+ updated(changes: PropertyValues<this>) {}
30
+
31
+ stateChanged(state: any) {}
32
+
33
+ /*
34
+ * page lifecycle
35
+ *
36
+ * - pageInitialized(lifecycle)
37
+ * - pageUpdated(changes, lifecycle, changedBefore)
38
+ * - pageDisposed(lifecycle)
39
+ *
40
+ * lifecycle value has
41
+ * - active : this page is activated
42
+ * - page : first path of href
43
+ * - resourceId : second path of href
44
+ * - params : search params object of href
45
+ * - initialized : initialized state of this page
46
+ *
47
+ * you can update lifecycle values, or add custom values
48
+ * by calling this.pageUpdate({ ...values }, force)
49
+ * If lifecycle values changed by this.pageUpdate(...),
50
+ * this.pageUpdated(...) will be called back right after.
51
+ * If you want to invoke this.pageUpdated(...) callback,
52
+ * set force argument to true.
53
+ *
54
+ * you can re-initialize this page
55
+ * by calling this.pageReset().
56
+ * this.pageInitialized(...) followed by this.pageDisposed(...) will be invoked
57
+ * by calling this.pageReset().
58
+ *
59
+ * you can invoke this.pageDisposed()
60
+ * by calling this.pageDispose()
61
+ */
62
+
63
+ pageInitialized(lifecycle: any) {
64
+ /*
65
+ * This page is initialized.
66
+ * It's right time to configure of this page.
67
+ *
68
+ * - called before when this page activated first
69
+ * - called when i18next resource is updated (loaded, changed, ..)
70
+ * - called right after this.pageReset()
71
+ */
72
+ }
73
+
74
+ pageUpdated(changes: any, lifecycle: any, before: any) {
75
+ if (this.active) {
76
+ /*
77
+ * this page is activated
78
+ */
79
+ } else {
80
+ /* this page is deactivated */
81
+ }
82
+ }
83
+
84
+ pageDisposed(lifecycle: any) {
85
+ /*
86
+ * This page is disposed.
87
+ * It's right time to release system resources.
88
+ *
89
+ * - called just before (re)pageInitialized
90
+ * - called right after when i18next resource updated (loaded, changed, ..)
91
+ * - called right after this.pageReset()
92
+ * - called right after this.pageDispose()
93
+ */
94
+ }
95
+ }
@@ -0,0 +1,7 @@
1
+ export default function route(page: string) {
2
+ switch (page) {
3
+ case 'work-center-list':
4
+ import('./pages/work-center/work-center-list-page')
5
+ return page
6
+ }
7
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": "../../tsconfig-base.json",
3
+ "compilerOptions": {
4
+ "strict": true,
5
+ "declaration": true,
6
+ "module": "esnext",
7
+ "outDir": "../dist-client",
8
+ "baseUrl": "./"
9
+ },
10
+ "include": ["./**/*"]
11
+ }
@@ -0,0 +1 @@
1
+ export default function bootstrap(): void;
@@ -0,0 +1,2 @@
1
+ export default function bootstrap() { }
2
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS,KAAI,CAAC","sourcesContent":["export default function bootstrap() {}\n"]}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"","sourcesContent":[""]}
@@ -0,0 +1,22 @@
1
+ import '@operato/data-grist';
2
+ import { LitElement } from 'lit';
3
+ export declare class WorkCenterImporter extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ workCenters: any[];
6
+ columns: {
7
+ list: {
8
+ fields: string[];
9
+ };
10
+ pagination: {
11
+ infinite: boolean;
12
+ };
13
+ columns: {
14
+ type: string;
15
+ name: string;
16
+ header: string;
17
+ width: number;
18
+ }[];
19
+ };
20
+ render(): import("lit-html").TemplateResult<1>;
21
+ save(): Promise<void>;
22
+ }