@things-factory/meta-ui 7.0.1-alpha.62 → 7.0.1-alpha.64
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/client/bootstrap.ts +0 -1
- package/client/component/popup/meta-object-selector-popup.ts +33 -6
- package/client/mixin/meta-basic-grist-mixin.js +233 -232
- package/client/mixin/meta-tab-detail-mixin.js +4 -0
- package/client/pages/activity/meta-activity-define-page.js +21 -7
- package/client/pages/activity/meta-activity-list-page.js +27 -6
- package/client/pages/entity/config-entity.js +176 -30
- package/client/pages/menu/dynamic-menu.js +45 -11
- package/client/pages/terms/config-terminology.js +17 -4
- package/client/utils/meta-ui-util.js +101 -95
- package/client/utils/service-util.js +21 -21
- package/dist-client/bootstrap.d.ts +0 -1
- package/dist-client/bootstrap.js +0 -1
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/component/popup/meta-object-selector-popup.js +15 -3
- package/dist-client/component/popup/meta-object-selector-popup.js.map +1 -1
- package/dist-client/mixin/meta-basic-grist-mixin.d.ts +9 -19
- package/dist-client/mixin/meta-basic-grist-mixin.js +6 -7
- package/dist-client/mixin/meta-basic-grist-mixin.js.map +1 -1
- package/dist-client/mixin/meta-tab-detail-mixin.d.ts +6 -1
- package/dist-client/mixin/meta-tab-detail-mixin.js +2 -0
- package/dist-client/mixin/meta-tab-detail-mixin.js.map +1 -1
- package/dist-client/pages/activity/meta-activity-define-page.js +10 -1
- package/dist-client/pages/activity/meta-activity-define-page.js.map +1 -1
- package/dist-client/pages/activity/meta-activity-list-page.js +16 -5
- package/dist-client/pages/activity/meta-activity-list-page.js.map +1 -1
- package/dist-client/pages/button-role/button-role-detail.d.ts +2 -1
- package/dist-client/pages/entity/config-entity.js +69 -18
- package/dist-client/pages/entity/config-entity.js.map +1 -1
- package/dist-client/pages/menu/dynamic-menu.js +19 -8
- package/dist-client/pages/menu/dynamic-menu.js.map +1 -1
- package/dist-client/pages/meta-grist-element.d.ts +2 -1
- package/dist-client/pages/meta-grist-page.d.ts +2 -1
- package/dist-client/pages/meta-tab-detail-element.d.ts +1 -0
- package/dist-client/pages/meta-tab-detail-page.d.ts +1 -0
- package/dist-client/pages/terms/config-terminology.js +15 -4
- package/dist-client/pages/terms/config-terminology.js.map +1 -1
- package/dist-client/pages/work-code/work-code-detail-popup.d.ts +2 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/utils/meta-ui-util.d.ts +0 -2
- package/dist-client/utils/meta-ui-util.js +96 -95
- package/dist-client/utils/meta-ui-util.js.map +1 -1
- package/dist-client/utils/service-util.d.ts +0 -1
- package/dist-client/utils/service-util.js +20 -21
- package/dist-client/utils/service-util.js.map +1 -1
- package/dist-server/service/dynamic-menu/dynamic-menu-query.js +20 -4
- package/dist-server/service/dynamic-menu/dynamic-menu-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -8
- package/server/service/dynamic-menu/dynamic-menu-query.ts +40 -8
|
@@ -14,6 +14,8 @@ import { PageView } from '@operato/shell'
|
|
|
14
14
|
import { CommonButtonStyles, CommonGristStyles, CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'
|
|
15
15
|
import { adjustFilters, isMobileDevice } from '@operato/utils'
|
|
16
16
|
|
|
17
|
+
import { PagePreferenceProviderImpl } from '@things-factory/personalization/dist-client/page-preference-provider-impl.js'
|
|
18
|
+
|
|
17
19
|
import { MetaApi } from './../../utils/meta-api'
|
|
18
20
|
|
|
19
21
|
class MetaActivityDefinePage extends localize(i18next)(PageView) {
|
|
@@ -96,7 +98,12 @@ class MetaActivityDefinePage extends localize(i18next)(PageView) {
|
|
|
96
98
|
const mode = this.mode
|
|
97
99
|
|
|
98
100
|
return html`
|
|
99
|
-
<ox-grist
|
|
101
|
+
<ox-grist
|
|
102
|
+
.mode=${mode}
|
|
103
|
+
.config=${this.gristConfig}
|
|
104
|
+
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
105
|
+
.personalConfigProvider=${this.personalConfigProvider}
|
|
106
|
+
>
|
|
100
107
|
<div slot="headroom" class="header">
|
|
101
108
|
<div class="filters">
|
|
102
109
|
<ox-input-select-buttons
|
|
@@ -129,11 +136,15 @@ class MetaActivityDefinePage extends localize(i18next)(PageView) {
|
|
|
129
136
|
<md-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</md-icon>
|
|
130
137
|
</div>
|
|
131
138
|
</div>
|
|
139
|
+
|
|
140
|
+
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
132
141
|
</ox-grist>
|
|
133
142
|
`
|
|
134
143
|
}
|
|
135
144
|
|
|
136
145
|
async pageInitialized(lifecycle) {
|
|
146
|
+
this.personalConfigProvider = new PagePreferenceProviderImpl(lifecycle.page, 'ox-grist')
|
|
147
|
+
|
|
137
148
|
this.gristConfig = {
|
|
138
149
|
pagination: MetaApi.getGristPagination100Config(),
|
|
139
150
|
list: {
|
|
@@ -152,12 +163,15 @@ class MetaActivityDefinePage extends localize(i18next)(PageView) {
|
|
|
152
163
|
handlers: {
|
|
153
164
|
click: (columns, data, column, record, rowIndex) => {
|
|
154
165
|
if (!record.id) return
|
|
155
|
-
const popup = openPopup(
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
166
|
+
const popup = openPopup(
|
|
167
|
+
html` <activity-model-item-list .activity=${record}></activity-model-item-list> `,
|
|
168
|
+
{
|
|
169
|
+
backdrop: true,
|
|
170
|
+
help: 'worklist/activity/activity-model-item-list',
|
|
171
|
+
size: 'large',
|
|
172
|
+
title: i18next.t('title.activity model item list')
|
|
173
|
+
}
|
|
174
|
+
)
|
|
161
175
|
popup.onclosed = () => {
|
|
162
176
|
this.grist?.fetch()
|
|
163
177
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import gql from 'graphql-tag'
|
|
2
2
|
|
|
3
3
|
import { html } from 'lit'
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
import { client } from '@operato/graphql'
|
|
6
|
-
import { i18next, localize } from '@
|
|
7
|
-
import { PageView } from '@
|
|
6
|
+
import { i18next, localize } from '@operat/i18n'
|
|
7
|
+
import { PageView } from '@operato/shell'
|
|
8
|
+
import { CommonButtonStyles } from '@operato/styles'
|
|
9
|
+
|
|
8
10
|
import { ActivityStatus } from '@things-factory/worklist/dist-client/types/types.js'
|
|
11
|
+
import { PagePreferenceProviderImpl } from '@things-factory/personalization/dist-client/page-preference-provider-impl.js'
|
|
9
12
|
|
|
10
13
|
import { MetaApi } from './../../utils/meta-api'
|
|
11
14
|
import { MetaUiUtil } from './../../utils/meta-ui-util'
|
|
@@ -115,7 +118,15 @@ class MetaActivityListPage extends localize(i18next)(PageView) {
|
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
},
|
|
118
|
-
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
121
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
122
|
+
'menuType',
|
|
123
|
+
'menu_type',
|
|
124
|
+
'left',
|
|
125
|
+
false,
|
|
126
|
+
110,
|
|
127
|
+
false,
|
|
128
|
+
'MENU_PAGE_TYPE'
|
|
129
|
+
),
|
|
119
130
|
MetaUiUtil.getGristColumnConfig2('string', 'routing', 'routing', 'left', false, false, 250)
|
|
120
131
|
],
|
|
121
132
|
list: { fields: ['name', 'routing'] },
|
|
@@ -224,16 +235,26 @@ class MetaActivityListPage extends localize(i18next)(PageView) {
|
|
|
224
235
|
await MetaApi.deleteListByGristSelected(this.grist, 'deleteMetaActivities')
|
|
225
236
|
}
|
|
226
237
|
|
|
227
|
-
async pageInitialized() {
|
|
238
|
+
async pageInitialized(lifecycle) {
|
|
239
|
+
this.personalConfigProvider = new PagePreferenceProviderImpl(lifecycle.page, 'ox-grist')
|
|
240
|
+
}
|
|
228
241
|
|
|
229
242
|
render() {
|
|
230
243
|
return html`
|
|
231
|
-
<ox-grist
|
|
244
|
+
<ox-grist
|
|
245
|
+
auto-fetch
|
|
246
|
+
id="ox-grist"
|
|
247
|
+
.config=${this.gridConfig}
|
|
248
|
+
.mode=${this.gridMode}
|
|
249
|
+
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
250
|
+
>
|
|
232
251
|
<div slot="headroom" class="header">
|
|
233
252
|
<div class="filters">
|
|
234
253
|
<ox-filters-form></ox-filters-form>
|
|
235
254
|
</div>
|
|
236
255
|
</div>
|
|
256
|
+
|
|
257
|
+
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
237
258
|
</ox-grist>
|
|
238
259
|
`
|
|
239
260
|
}
|
|
@@ -3,16 +3,18 @@ import '@material/web/icon/icon.js'
|
|
|
3
3
|
import { html } from 'lit'
|
|
4
4
|
import gql from 'graphql-tag'
|
|
5
5
|
|
|
6
|
+
import { PageView, store } from '@operato/shell'
|
|
6
7
|
import { client, gqlContext } from '@operato/graphql'
|
|
7
|
-
import { i18next, localize } from '@
|
|
8
|
-
|
|
9
|
-
import { store } from '@operato/shell'
|
|
8
|
+
import { i18next, localize } from '@operato/i18n'
|
|
9
|
+
|
|
10
10
|
import { EXPORT } from '@things-factory/export-base'
|
|
11
11
|
import { IMPORT } from '@things-factory/import-base'
|
|
12
12
|
|
|
13
13
|
import '@things-factory/form-ui'
|
|
14
14
|
import '@things-factory/import-ui'
|
|
15
15
|
|
|
16
|
+
import { PagePreferenceProviderImpl } from '@things-factory/personalization/dist-client/page-preference-provider-impl.js'
|
|
17
|
+
|
|
16
18
|
import { TermsUtil } from './../../utils/terms-util'
|
|
17
19
|
import { ValueUtil } from '../../utils/value-util'
|
|
18
20
|
import { MetaApi } from '../../utils/meta-api'
|
|
@@ -254,7 +256,13 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
254
256
|
************************************
|
|
255
257
|
*/
|
|
256
258
|
async createService() {
|
|
257
|
-
const answer = await MetaApi.showAlertPopup(
|
|
259
|
+
const answer = await MetaApi.showAlertPopup(
|
|
260
|
+
'button.create-service',
|
|
261
|
+
'text.are_you_sure',
|
|
262
|
+
'question',
|
|
263
|
+
'confirm',
|
|
264
|
+
'cancel'
|
|
265
|
+
)
|
|
258
266
|
if (answer.value) {
|
|
259
267
|
let ids = MetaApi.getSelectedIdList(this.masterGrist, true)
|
|
260
268
|
if (ids) {
|
|
@@ -283,7 +291,13 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
283
291
|
async createMenu() {
|
|
284
292
|
if (this.entityId) {
|
|
285
293
|
// 메인 메뉴를 선택하는 팝업을 실행하여 어떤 메뉴 하위에 엔티티 메뉴를 생성할 지 결정
|
|
286
|
-
const answer = await MetaApi.showAlertPopup(
|
|
294
|
+
const answer = await MetaApi.showAlertPopup(
|
|
295
|
+
'button.create-menu',
|
|
296
|
+
'text.are_you_sure',
|
|
297
|
+
'question',
|
|
298
|
+
'confirm',
|
|
299
|
+
'cancel'
|
|
300
|
+
)
|
|
287
301
|
if (answer.value) {
|
|
288
302
|
if (MetaApi.getSelectedIdList(this.masterGrist, true)) {
|
|
289
303
|
await this.openMainMenuSelectorPopup()
|
|
@@ -325,7 +339,9 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
325
339
|
async createUnregisteredTerms() {
|
|
326
340
|
try {
|
|
327
341
|
if (this.entityId) {
|
|
328
|
-
const terms = this.detailGrist.data.records
|
|
342
|
+
const terms = this.detailGrist.data.records
|
|
343
|
+
.filter(record => TermsUtil.tLabel(record.term) === record.term)
|
|
344
|
+
.map(r => `label.${r.term}`)
|
|
329
345
|
const bundle = this.selectedEntity.bundle
|
|
330
346
|
|
|
331
347
|
if (terms.length) {
|
|
@@ -366,7 +382,9 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
366
382
|
...this.detailGrist._config.columns
|
|
367
383
|
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
|
368
384
|
.reduce((record, column) => {
|
|
369
|
-
record[column.imex.key] = column.imex.key
|
|
385
|
+
record[column.imex.key] = column.imex.key
|
|
386
|
+
.split('.')
|
|
387
|
+
.reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)
|
|
370
388
|
return record
|
|
371
389
|
}, {})
|
|
372
390
|
}
|
|
@@ -467,7 +485,11 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
467
485
|
let idx = 0
|
|
468
486
|
patches.forEach(patch => {
|
|
469
487
|
idx += 10
|
|
470
|
-
patch.colSize = ValueUtil.isNotEmpty(patch.colSize)
|
|
488
|
+
patch.colSize = ValueUtil.isNotEmpty(patch.colSize)
|
|
489
|
+
? ValueUtil.toInteger(patch.colSize)
|
|
490
|
+
: patch.colType == 'string'
|
|
491
|
+
? 50
|
|
492
|
+
: 0
|
|
471
493
|
patch.rank = ValueUtil.toInteger(patch.rank, 0)
|
|
472
494
|
patch.uniqRank = ValueUtil.toInteger(patch.uniqRank, 0)
|
|
473
495
|
patch.searchRank = ValueUtil.toInteger(patch.searchRank, 0)
|
|
@@ -533,12 +555,30 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
533
555
|
let defaultList = []
|
|
534
556
|
if (!idExist) {
|
|
535
557
|
lastIdx += 10
|
|
536
|
-
defaultList.push({
|
|
558
|
+
defaultList.push({
|
|
559
|
+
entity: { id: this.entityId },
|
|
560
|
+
name: 'id',
|
|
561
|
+
colType: 'string',
|
|
562
|
+
colSize: 0,
|
|
563
|
+
nullable: false,
|
|
564
|
+
term: 'id',
|
|
565
|
+
rank: lastIdx,
|
|
566
|
+
cuFlag: '+'
|
|
567
|
+
})
|
|
537
568
|
}
|
|
538
569
|
|
|
539
570
|
if (!domainIdExist) {
|
|
540
571
|
lastIdx += 10
|
|
541
|
-
defaultList.push({
|
|
572
|
+
defaultList.push({
|
|
573
|
+
entity: { id: this.entityId },
|
|
574
|
+
name: 'domain_id',
|
|
575
|
+
colType: 'string',
|
|
576
|
+
colSize: 0,
|
|
577
|
+
nullable: false,
|
|
578
|
+
term: 'domain',
|
|
579
|
+
rank: lastIdx,
|
|
580
|
+
cuFlag: '+'
|
|
581
|
+
})
|
|
542
582
|
}
|
|
543
583
|
|
|
544
584
|
if (!createdAtExist) {
|
|
@@ -620,7 +660,10 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
620
660
|
* @description 라이프 사이클 - 페이지 초기화
|
|
621
661
|
***************************************
|
|
622
662
|
*/
|
|
623
|
-
async pageInitialized() {
|
|
663
|
+
async pageInitialized(lifecycle) {
|
|
664
|
+
this.masterPersonalConfigProvider = new PagePreferenceProviderImpl(lifecycle.page, 'meta::master::ox-grist')
|
|
665
|
+
this.detailPersonalConfigProvider = new PagePreferenceProviderImpl(lifecycle.page, 'meta::detail::ox-grist')
|
|
666
|
+
|
|
624
667
|
// 조회 필드
|
|
625
668
|
this.searchFields = [
|
|
626
669
|
// name, type, label, operator, optionValues
|
|
@@ -655,8 +698,24 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
655
698
|
// name, displayName, align, sortable, width, mandatory, codeName
|
|
656
699
|
await MetaApi.getGristCodeSelectorColumnConfig('bundle', 'bundle', 'left', false, 100, true, 'BUNDLE'),
|
|
657
700
|
// name, displayName, align, sortable, width, mandatory, codeName
|
|
658
|
-
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
659
|
-
|
|
701
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
702
|
+
'dataProp',
|
|
703
|
+
'entity_manage_hist',
|
|
704
|
+
'left',
|
|
705
|
+
false,
|
|
706
|
+
90,
|
|
707
|
+
true,
|
|
708
|
+
'ENTITY_HIST_TYPE'
|
|
709
|
+
),
|
|
710
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
711
|
+
'delStrategy',
|
|
712
|
+
'entity_del_strategy',
|
|
713
|
+
'left',
|
|
714
|
+
false,
|
|
715
|
+
90,
|
|
716
|
+
true,
|
|
717
|
+
'ENTITY_DEL_STRATEGY'
|
|
718
|
+
),
|
|
660
719
|
// type, name, align, editable, sortable, width
|
|
661
720
|
MetaApi.getGristColumnConfig('string', 'description', 'left', true, false, 250)
|
|
662
721
|
]
|
|
@@ -686,7 +745,15 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
686
745
|
}
|
|
687
746
|
},
|
|
688
747
|
// name, displayName, align, sortable, width, mandatory, codeName
|
|
689
|
-
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
748
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
749
|
+
'colType',
|
|
750
|
+
'col_type',
|
|
751
|
+
'left',
|
|
752
|
+
false,
|
|
753
|
+
75,
|
|
754
|
+
true,
|
|
755
|
+
'ENTITY_COLUMN_TYPES'
|
|
756
|
+
),
|
|
690
757
|
// type, name, displayName, align, editable, sortable, width
|
|
691
758
|
MetaApi.getGristColumnConfig2('integer', 'colSize', 'size', 'right', true, false, 60),
|
|
692
759
|
MetaApi.getGristColumnConfig2('boolean', 'nullable', 'nullable', 'center', true, false, 70),
|
|
@@ -694,12 +761,36 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
694
761
|
MetaApi.getGristColumnConfig2('string', 'description', 'description', 'left', true, false, 135),
|
|
695
762
|
MetaApi.getGristColumnConfig2('integer', 'searchRank', 'search_rank', 'right', true, false, 70),
|
|
696
763
|
// name, displayName, align, sortable, width, mandatory, codeName
|
|
697
|
-
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
764
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
765
|
+
'searchOper',
|
|
766
|
+
'search_oper',
|
|
767
|
+
'left',
|
|
768
|
+
false,
|
|
769
|
+
85,
|
|
770
|
+
true,
|
|
771
|
+
'FILTER_OPERATORS'
|
|
772
|
+
),
|
|
698
773
|
MetaApi.getGristColumnConfig2('integer', 'gridRank', 'grid_rank', 'right', true, false, 80),
|
|
699
774
|
MetaApi.getGristColumnConfig2('integer', 'gridWidth', 'grid_width', 'right', true, false, 75),
|
|
700
775
|
// name, displayName, align, sortable, width, mandatory, codeName
|
|
701
|
-
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
702
|
-
|
|
776
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
777
|
+
'gridEditor',
|
|
778
|
+
'grid_editor',
|
|
779
|
+
'left',
|
|
780
|
+
false,
|
|
781
|
+
90,
|
|
782
|
+
true,
|
|
783
|
+
'ENTITY_GRIST_COLUMN_TYPES'
|
|
784
|
+
),
|
|
785
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
786
|
+
'refType',
|
|
787
|
+
'ref_type',
|
|
788
|
+
'left',
|
|
789
|
+
false,
|
|
790
|
+
85,
|
|
791
|
+
true,
|
|
792
|
+
'COLUMN_REF_TYPE'
|
|
793
|
+
),
|
|
703
794
|
// type, name, displayName, align, editable, sortable, width
|
|
704
795
|
MetaApi.getGristColumnConfig2('string', 'refName', 'ref_name', 'left', true, false, 100),
|
|
705
796
|
MetaApi.getGristColumnConfig2('string', 'defVal', 'id_rule', 'left', true, false, 100)
|
|
@@ -729,7 +820,15 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
729
820
|
}
|
|
730
821
|
},
|
|
731
822
|
// name, displayName, align, sortable, width, mandatory, codeName
|
|
732
|
-
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
823
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
824
|
+
'colType',
|
|
825
|
+
'col_type',
|
|
826
|
+
'left',
|
|
827
|
+
false,
|
|
828
|
+
75,
|
|
829
|
+
true,
|
|
830
|
+
'ENTITY_COLUMN_TYPES'
|
|
831
|
+
),
|
|
733
832
|
// type, name, displayName, align, editable, sortable, width
|
|
734
833
|
MetaApi.getGristColumnConfig2('integer', 'colSize', 'size', 'right', true, false, 60),
|
|
735
834
|
MetaApi.getGristColumnConfig2('boolean', 'nullable', 'nullable', 'center', true, false, 70),
|
|
@@ -737,12 +836,36 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
737
836
|
MetaApi.getGristColumnConfig2('string', 'description', 'description', 'left', true, false, 135),
|
|
738
837
|
MetaApi.getGristColumnConfig2('integer', 'searchRank', 'search_rank', 'right', true, false, 70),
|
|
739
838
|
// name, displayName, align, sortable, width, mandatory, codeName
|
|
740
|
-
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
839
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
840
|
+
'string',
|
|
841
|
+
'search_oper',
|
|
842
|
+
'left',
|
|
843
|
+
false,
|
|
844
|
+
85,
|
|
845
|
+
true,
|
|
846
|
+
'FILTER_OPERATORS'
|
|
847
|
+
),
|
|
741
848
|
MetaApi.getGristColumnConfig2('integer', 'gridRank', 'grid_rank', 'right', true, false, 80),
|
|
742
849
|
MetaApi.getGristColumnConfig2('integer', 'gridWidth', 'grid_width', 'right', true, false, 75),
|
|
743
850
|
// name, displayName, align, sortable, width, mandatory, codeName
|
|
744
|
-
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
745
|
-
|
|
851
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
852
|
+
'gridEditor',
|
|
853
|
+
'grid_editor',
|
|
854
|
+
'left',
|
|
855
|
+
false,
|
|
856
|
+
90,
|
|
857
|
+
true,
|
|
858
|
+
'GRIST_COLUMN_TYPES'
|
|
859
|
+
),
|
|
860
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
861
|
+
'refType',
|
|
862
|
+
'ref_type',
|
|
863
|
+
'left',
|
|
864
|
+
false,
|
|
865
|
+
85,
|
|
866
|
+
true,
|
|
867
|
+
'COLUMN_REF_TYPE'
|
|
868
|
+
),
|
|
746
869
|
// type, name, displayName, align, editable, sortable, width
|
|
747
870
|
MetaApi.getGristColumnConfig2('string', 'refName', 'ref_name', 'left', true, false, 100)
|
|
748
871
|
]
|
|
@@ -774,35 +897,58 @@ class ConfigEntity extends localize(i18next)(PageView) {
|
|
|
774
897
|
id="master-grist"
|
|
775
898
|
.config=${this.masterConfig}
|
|
776
899
|
.mode=${MetaApi.isMobileEnv() ? 'LIST' : 'GRID'}
|
|
777
|
-
|
|
900
|
+
.personalConfigProvider=${this.masterPersonalConfigProvider}
|
|
778
901
|
.fetchHandler=${this.fetchEntities.bind(this)}
|
|
902
|
+
auto-fetch
|
|
779
903
|
>
|
|
904
|
+
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
780
905
|
</ox-grist>
|
|
906
|
+
|
|
781
907
|
<div class="button-container">
|
|
782
|
-
<button @click=${e => this.createService()}
|
|
783
|
-
|
|
908
|
+
<button @click=${e => this.createService()}>
|
|
909
|
+
<md-icon>add_box</md-icon>${TermsUtil.tButton('create-service')}
|
|
910
|
+
</button>
|
|
911
|
+
<button @click=${e => this.createMenu()}>
|
|
912
|
+
<md-icon>menu_open</md-icon>${TermsUtil.tButton('create-menu')}
|
|
913
|
+
</button>
|
|
784
914
|
<button @click=${e => this.saveMasters()}><md-icon>save</md-icon>${TermsUtil.tButton('save')}</button>
|
|
785
|
-
<button danger @click=${e => this.deleteMasters()}
|
|
915
|
+
<button danger @click=${e => this.deleteMasters()}>
|
|
916
|
+
<md-icon>delete</md-icon>${TermsUtil.tButton('delete')}
|
|
917
|
+
</button>
|
|
786
918
|
</div>
|
|
787
919
|
</div>
|
|
788
920
|
|
|
789
921
|
<div class="container_detail">
|
|
790
922
|
<h2><md-icon>list_alt</md-icon>${TermsUtil.tTitle('entity-column')}</h2>
|
|
923
|
+
|
|
791
924
|
<ox-grist
|
|
792
925
|
id="detail-grist"
|
|
793
926
|
.config=${this.detailConfig}
|
|
794
927
|
.mode=${MetaApi.isMobileEnv() ? 'LIST' : 'GRID'}
|
|
795
928
|
explcit-fetch
|
|
796
929
|
.fetchHandler=${this.fetchEntityColumns.bind(this)}
|
|
930
|
+
.personalConfigProvider=${this.detailPersonalConfigProvider}
|
|
797
931
|
>
|
|
932
|
+
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
798
933
|
</ox-grist>
|
|
934
|
+
|
|
799
935
|
<div class="button-container">
|
|
800
|
-
<button @click=${e => this.exportEntityColumns()}
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
<button @click=${e => this.
|
|
936
|
+
<button @click=${e => this.exportEntityColumns()}>
|
|
937
|
+
<md-icon>cloud_download</md-icon>${TermsUtil.tButton('export')}
|
|
938
|
+
</button>
|
|
939
|
+
<button @click=${e => this.importXlsxFile()}>
|
|
940
|
+
<md-icon>cloud_upload</md-icon>${TermsUtil.tButton('import')}
|
|
941
|
+
</button>
|
|
942
|
+
<button @click=${e => this.checkEntityColumns()}>
|
|
943
|
+
<md-icon>fact_check</md-icon>${TermsUtil.tButton('check-columns')}
|
|
944
|
+
</button>
|
|
945
|
+
<button @click=${e => this.createUnregisteredTerms()}>
|
|
946
|
+
<md-icon>abc</md-icon>${TermsUtil.tButton('register-terms')}
|
|
947
|
+
</button>
|
|
804
948
|
<button @click=${e => this.saveEntityColumns()}><md-icon>save</md-icon>${TermsUtil.tButton('save')}</button>
|
|
805
|
-
<button danger @click=${e => this.deleteEntityColumns()}
|
|
949
|
+
<button danger @click=${e => this.deleteEntityColumns()}>
|
|
950
|
+
<md-icon>delete</md-icon>${TermsUtil.tButton('delete')}
|
|
951
|
+
</button>
|
|
806
952
|
</div>
|
|
807
953
|
</div>
|
|
808
954
|
</div>
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import '@material/web/icon/icon.js'
|
|
2
|
+
import '@things-factory/form-ui'
|
|
2
3
|
|
|
3
4
|
import { html } from 'lit'
|
|
4
5
|
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
6
|
+
import { PageView } from '@operato/shell'
|
|
7
|
+
import { i18next, localize } from '@operato/i18n'
|
|
7
8
|
|
|
8
|
-
import '@things-factory/
|
|
9
|
+
import { PagePreferenceProviderImpl } from '@things-factory/personalization/dist-client/page-preference-provider-impl.js'
|
|
9
10
|
|
|
10
11
|
import { TermsUtil } from './../../utils/terms-util'
|
|
11
12
|
import { MetaApi } from '../../utils/meta-api'
|
|
@@ -53,13 +54,17 @@ class DynamicMenu extends localize(i18next)(PageView) {
|
|
|
53
54
|
id="master-grist"
|
|
54
55
|
.config=${this.groupConfig}
|
|
55
56
|
.mode=${MetaApi.isMobileEnv() ? 'LIST' : 'GRID'}
|
|
56
|
-
|
|
57
|
+
.personalConfigProvider=${this.masterPersonalConfigProvider}
|
|
57
58
|
.fetchHandler=${this.fetchGroupHandler.bind(this)}
|
|
59
|
+
auto-fetch
|
|
58
60
|
>
|
|
61
|
+
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
59
62
|
</ox-grist>
|
|
60
63
|
<div class="button-container">
|
|
61
64
|
<button @click=${e => this.saveGroup()}><md-icon>save</md-icon>${TermsUtil.tButton('save')}</button>
|
|
62
|
-
<button danger @click=${e => this.deleteGroup()}
|
|
65
|
+
<button danger @click=${e => this.deleteGroup()}>
|
|
66
|
+
<md-icon>delete</md-icon>${TermsUtil.tButton('delete')}
|
|
67
|
+
</button>
|
|
63
68
|
</div>
|
|
64
69
|
</div>
|
|
65
70
|
|
|
@@ -68,14 +73,18 @@ class DynamicMenu extends localize(i18next)(PageView) {
|
|
|
68
73
|
id="detail-grist"
|
|
69
74
|
.config=${this.detailConfig}
|
|
70
75
|
.mode=${MetaApi.isMobileEnv() ? 'LIST' : 'GRID'}
|
|
71
|
-
explcit-fetch
|
|
72
76
|
.fetchHandler=${this.fetchDetailHandler.bind(this)}
|
|
77
|
+
.personalConfigProvider=${this.detailPersonalConfigProvider}
|
|
78
|
+
explcit-fetch
|
|
73
79
|
>
|
|
80
|
+
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
74
81
|
</ox-grist>
|
|
75
82
|
<div class="button-container">
|
|
76
83
|
<button @click=${e => this.copyMenu()}><md-icon>content_copy</md-icon>${TermsUtil.tButton('copy')}</button>
|
|
77
84
|
<button @click=${e => this.saveMenu()}><md-icon>save</md-icon>${TermsUtil.tButton('save')}</button>
|
|
78
|
-
<button danger @click=${e => this.deleteMenu()}
|
|
85
|
+
<button danger @click=${e => this.deleteMenu()}>
|
|
86
|
+
<md-icon>delete</md-icon>${TermsUtil.tButton('delete')}
|
|
87
|
+
</button>
|
|
79
88
|
</div>
|
|
80
89
|
</div>
|
|
81
90
|
</div>
|
|
@@ -336,7 +345,10 @@ class DynamicMenu extends localize(i18next)(PageView) {
|
|
|
336
345
|
/**
|
|
337
346
|
* LifeCycle - 화면 레더링 설정
|
|
338
347
|
*/
|
|
339
|
-
async pageInitialized() {
|
|
348
|
+
async pageInitialized(lifecycle) {
|
|
349
|
+
this.masterPersonalConfigProvider = new PagePreferenceProviderImpl(lifecycle.page, 'meta::master::ox-grist')
|
|
350
|
+
this.detailPersonalConfigProvider = new PagePreferenceProviderImpl(lifecycle.page, 'meta::detail::ox-grist')
|
|
351
|
+
|
|
340
352
|
// 조회 필드
|
|
341
353
|
this.searchFields = [
|
|
342
354
|
// name, type, label, operator, optionValues
|
|
@@ -345,7 +357,13 @@ class DynamicMenu extends localize(i18next)(PageView) {
|
|
|
345
357
|
await MetaApi.getGristSearchCodeColumnConfig('menuType', 'select', 'menu_type', 'eq', 'MENU_TYPE'),
|
|
346
358
|
// name, type, label, operator
|
|
347
359
|
MetaApi.getGristSearchColumnConfig('hiddenFlag', 'checkbox', 'hidden', 'eq'),
|
|
348
|
-
await MetaApi.getGristSearchCodeColumnConfig(
|
|
360
|
+
await MetaApi.getGristSearchCodeColumnConfig(
|
|
361
|
+
'templateCode',
|
|
362
|
+
'select',
|
|
363
|
+
'menu_template_search_code',
|
|
364
|
+
'eq',
|
|
365
|
+
'MENU_TEXT_SEARCH_TYPE'
|
|
366
|
+
),
|
|
349
367
|
MetaApi.getGristSearchColumnConfig('templateText', 'string', 'menu_template_search_text', 'i_like')
|
|
350
368
|
]
|
|
351
369
|
|
|
@@ -480,8 +498,24 @@ class DynamicMenu extends localize(i18next)(PageView) {
|
|
|
480
498
|
width: 175
|
|
481
499
|
},
|
|
482
500
|
// name, displayName, align, sortable, width, mandatory, codeName
|
|
483
|
-
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
484
|
-
|
|
501
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
502
|
+
'menuType',
|
|
503
|
+
'page_type',
|
|
504
|
+
'left',
|
|
505
|
+
false,
|
|
506
|
+
90,
|
|
507
|
+
true,
|
|
508
|
+
'MENU_PAGE_TYPE'
|
|
509
|
+
),
|
|
510
|
+
await MetaApi.getGristCodeSelectorColumnConfig(
|
|
511
|
+
'routingType',
|
|
512
|
+
'routing_type',
|
|
513
|
+
'left',
|
|
514
|
+
false,
|
|
515
|
+
0,
|
|
516
|
+
false,
|
|
517
|
+
'MENU_PAGE_ROUTING_TYPE'
|
|
518
|
+
),
|
|
485
519
|
// type, name, displayName, align, editable, sortable, width
|
|
486
520
|
MetaApi.getGristColumnConfig2('string', 'routing', 'routing', 'left', true, false, 175),
|
|
487
521
|
MetaApi.getGristColumnConfig2('string', 'category', 'tag', 'left', true, false, 175),
|
|
@@ -2,9 +2,11 @@ import '@material/web/icon/icon.js'
|
|
|
2
2
|
|
|
3
3
|
import { html } from 'lit'
|
|
4
4
|
|
|
5
|
+
import { PageView } from '@operato/shell'
|
|
6
|
+
import { i18next, localize } from '@operato/i18n'
|
|
5
7
|
import { CommonButtonStyles } from '@operato/styles'
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
+
|
|
9
|
+
import { PagePreferenceProviderImpl } from '@things-factory/personalization/dist-client/page-preference-provider-impl.js'
|
|
8
10
|
|
|
9
11
|
import { TermsUtil } from './../../utils/terms-util'
|
|
10
12
|
import { MetaApi } from '../../utils/meta-api'
|
|
@@ -35,12 +37,21 @@ class ConfigTerminology extends localize(i18next)(PageView) {
|
|
|
35
37
|
|
|
36
38
|
render() {
|
|
37
39
|
return html`
|
|
38
|
-
<ox-grist
|
|
40
|
+
<ox-grist
|
|
41
|
+
auto-fetch
|
|
42
|
+
id="ox-grist"
|
|
43
|
+
.config=${this.gridConfig}
|
|
44
|
+
.mode=${this.gridMode}
|
|
45
|
+
.personalConfigProvider=${this.personalConfigProvider}
|
|
46
|
+
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
47
|
+
>
|
|
39
48
|
<div slot="headroom" class="header">
|
|
40
49
|
<div class="filters">
|
|
41
50
|
<ox-filters-form></ox-filters-form>
|
|
42
51
|
</div>
|
|
43
52
|
</div>
|
|
53
|
+
|
|
54
|
+
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
44
55
|
</ox-grist>
|
|
45
56
|
`
|
|
46
57
|
}
|
|
@@ -99,7 +110,9 @@ class ConfigTerminology extends localize(i18next)(PageView) {
|
|
|
99
110
|
await MetaApi.deleteListByGristSelected(this.grist, 'deleteTerminologies')
|
|
100
111
|
}
|
|
101
112
|
|
|
102
|
-
async pageInitialized() {
|
|
113
|
+
async pageInitialized(lifecycle) {
|
|
114
|
+
this.personalConfigProvider = new PagePreferenceProviderImpl(lifecycle.page, 'ox-grist')
|
|
115
|
+
|
|
103
116
|
let locales = await MetaApi.getCodeSelectorData('LOCALE')
|
|
104
117
|
let termsCategories = await MetaApi.getCodeSelectorData('TERMS_CATEGORY')
|
|
105
118
|
|