@things-factory/meta-ui 7.0.1-alpha.1 → 7.0.1-alpha.3
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 +13 -9
- package/client/pages/personalize/personal-column-selector.js +111 -121
- package/client/utils/meta-ui-util.js +0 -4
- package/client/utils/service-util.js +1 -1
- package/client/utils/ui-util.js +2 -5
- package/dist-client/bootstrap.d.ts +4 -1
- package/dist-client/bootstrap.js +11 -8
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/pages/personalize/personal-column-selector.js +75 -83
- package/dist-client/pages/personalize/personal-column-selector.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/utils/meta-ui-util.js +0 -3
- package/dist-client/utils/meta-ui-util.js.map +1 -1
- package/dist-client/utils/service-util.js +1 -1
- package/dist-client/utils/service-util.js.map +1 -1
- package/dist-client/utils/ui-util.js +1 -4
- package/dist-client/utils/ui-util.js.map +1 -1
- package/package.json +2 -2
package/client/bootstrap.ts
CHANGED
|
@@ -7,7 +7,6 @@ import { navigate, store } from '@operato/shell'
|
|
|
7
7
|
import { updateMenuTemplate } from './actions/main'
|
|
8
8
|
import metaUI from './reducers/main'
|
|
9
9
|
import { TermsUtil } from './utils/terms-util'
|
|
10
|
-
import { MetaApi } from './utils/meta-api'
|
|
11
10
|
import { GristDefaultValue } from './utils/grist-default-value'
|
|
12
11
|
import { MENUS } from './dynamic-menus'
|
|
13
12
|
|
|
@@ -36,10 +35,15 @@ import { FilterGristMetaObjectSelect } from './component/filter/filter-grist-met
|
|
|
36
35
|
import { FilterFormMetaCodeSelect } from './component/filter/filter-form-meta-code-select'
|
|
37
36
|
import { FilterFormMetaObjectSelect } from './component/filter/filter-form-meta-object-select'
|
|
38
37
|
|
|
38
|
+
import './pages/personalize/personal-column-selector'
|
|
39
|
+
import './pages/history/history-copy-list-popup'
|
|
40
|
+
import './pages/history/history-json-list-popup'
|
|
41
|
+
|
|
39
42
|
import './pages/activity/meta-activity-writer-element'
|
|
40
43
|
import './pages/activity/meta-activity-viewer-element'
|
|
44
|
+
import { i18next } from '@operato/i18n'
|
|
41
45
|
|
|
42
|
-
export default function bootstrap(module) {
|
|
46
|
+
export default async function bootstrap(module) {
|
|
43
47
|
// GRIST Renderer
|
|
44
48
|
gristColumnRegisterRenderer('meta-code-selector', GristRendererMetaCodeSelector)
|
|
45
49
|
gristColumnRegisterRenderer('meta-object-selector', GristRendererMetaObjectSelector)
|
|
@@ -65,14 +69,14 @@ export default function bootstrap(module) {
|
|
|
65
69
|
metaUI
|
|
66
70
|
})
|
|
67
71
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
await TermsUtil.downloadTerminologies(locale)
|
|
72
|
+
// 1. 용어 다운로드
|
|
73
|
+
var locale = i18next.language
|
|
74
|
+
if (locale == 'ko') {
|
|
75
|
+
locale = 'ko-KR'
|
|
76
|
+
}
|
|
77
|
+
await TermsUtil.downloadTerminologies(locale)
|
|
75
78
|
|
|
79
|
+
auth.on('profile', async ({ credential, domains, domain }) => {
|
|
76
80
|
// 2. 메뉴 정보를 서버로 부터 받아서 적용
|
|
77
81
|
const menuRoutes = await MENUS
|
|
78
82
|
updateMenuTemplate(menuRoutes.menus)
|
|
@@ -24,66 +24,67 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
|
|
|
24
24
|
ScrollbarStyles,
|
|
25
25
|
CommonGristStyles,
|
|
26
26
|
css`
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
27
|
+
:host {
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
overflow-x: auto;
|
|
31
|
+
}
|
|
32
|
+
.container {
|
|
33
|
+
flex: 1;
|
|
34
|
+
display: grid;
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
}
|
|
37
|
+
.container_detail {
|
|
38
|
+
background-color: var(--main-section-background-color);
|
|
39
|
+
display: flex;
|
|
40
|
+
flex-direction: column;
|
|
41
|
+
flex: 1;
|
|
42
|
+
overflow-y: auto;
|
|
43
|
+
}
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
h2 {
|
|
46
|
+
padding: var(--subtitle-padding);
|
|
47
|
+
font: var(--subtitle-font);
|
|
48
|
+
color: var(--subtitle-text-color);
|
|
49
|
+
border-bottom: var(--subtitle-border-bottom);
|
|
50
|
+
}
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
.container_detail h2 {
|
|
53
|
+
margin: var(--grist-title-margin);
|
|
54
|
+
border: var(--grist-title-border);
|
|
55
|
+
font: var(--grist-title-font);
|
|
56
|
+
color: var(--secondary-color);
|
|
57
|
+
}
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
.container_detail h2 mwc-icon {
|
|
60
|
+
vertical-align: middle;
|
|
61
|
+
margin: var(--grist-title-icon-margin);
|
|
62
|
+
font-size: var(--grist-title-icon-size);
|
|
63
|
+
color: var(--grist-title-icon-color);
|
|
64
|
+
}
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
66
|
+
h2 {
|
|
67
|
+
padding-bottom: var(--grist-title-with-grid-padding);
|
|
68
|
+
}
|
|
69
|
+
ox-grist {
|
|
70
|
+
overflow-y: auto;
|
|
71
|
+
flex: 1;
|
|
72
|
+
}
|
|
73
|
+
search-form {
|
|
74
|
+
overflow: visible;
|
|
75
|
+
}
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
77
|
+
.button-container {
|
|
78
|
+
padding: var(--button-container-padding);
|
|
79
|
+
margin: var(--button-container-margin);
|
|
80
|
+
text-align: var(--button-container-align);
|
|
81
|
+
background-color: var(--button-container-background);
|
|
82
|
+
height: var(--button-container-height);
|
|
83
|
+
text-align: right;
|
|
84
|
+
padding-right: 12px;
|
|
85
|
+
}
|
|
86
|
+
`
|
|
87
|
+
]
|
|
87
88
|
return styles
|
|
88
89
|
}
|
|
89
90
|
|
|
@@ -104,7 +105,7 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
|
|
|
104
105
|
},
|
|
105
106
|
|
|
106
107
|
/**
|
|
107
|
-
* @description 메뉴 ID
|
|
108
|
+
* @description 메뉴 ID
|
|
108
109
|
******************************
|
|
109
110
|
* @type {String}
|
|
110
111
|
*/
|
|
@@ -119,7 +120,7 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
|
|
|
119
120
|
***************************
|
|
120
121
|
*/
|
|
121
122
|
async connectedCallback() {
|
|
122
|
-
// 메뉴 그룹 그리드 설정
|
|
123
|
+
// 메뉴 그룹 그리드 설정
|
|
123
124
|
this.gridConfig = {
|
|
124
125
|
rows: { selectable: false, appendable: false },
|
|
125
126
|
pagination: { infinite: true },
|
|
@@ -127,7 +128,7 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
|
|
|
127
128
|
...MetaApi.getGristGuttersConfig(false, false),
|
|
128
129
|
MetaApi.getGristColumnConfig('integer', 'rank', 'center', true, false, 80),
|
|
129
130
|
MetaApi.getGristColumnConfig('string', 'name', 'left', false, false, 180),
|
|
130
|
-
MetaApi.getGristColumnConfig2('string','header', 'display', 'left', false, false, 180),
|
|
131
|
+
MetaApi.getGristColumnConfig2('string', 'header', 'display', 'left', false, false, 180),
|
|
131
132
|
MetaApi.getGristColumnConfig('boolean', 'hidden', 'center', true, false, 60)
|
|
132
133
|
]
|
|
133
134
|
}
|
|
@@ -142,25 +143,16 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
|
|
|
142
143
|
***************************
|
|
143
144
|
*/
|
|
144
145
|
render() {
|
|
145
|
-
return html`
|
|
146
|
-
<div
|
|
147
|
-
<
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
</
|
|
151
|
-
<
|
|
152
|
-
<mwc-button raised label="${TermsUtil.tButton('reset')}" style="margin-left:7px;margin-top:7px;"
|
|
153
|
-
@click=${this.reset.bind(this)}>
|
|
154
|
-
</mwc-button>
|
|
155
|
-
<mwc-button raised label="${TermsUtil.tButton('delete')}" style="margin-left:7px;margin-top:7px;"
|
|
156
|
-
@click=${this.delete.bind(this)}>
|
|
157
|
-
</mwc-button>
|
|
158
|
-
<mwc-button raised label="${TermsUtil.tButton('save')}" style="margin-left:7px;margin-top:7px;"
|
|
159
|
-
@click=${this.save.bind(this)}>
|
|
160
|
-
</mwc-button>
|
|
161
|
-
</div>
|
|
146
|
+
return html` <div id="container" class="container">
|
|
147
|
+
<div class="container_detail">
|
|
148
|
+
<ox-grist id="ox-grist" .config=${this.gridConfig} .mode=${'GRID'} auto-fetch .fetchHandler=${this.fetchColumns.bind(this)}> </ox-grist>
|
|
149
|
+
<div id="button-container" class="button-container">
|
|
150
|
+
<mwc-button raised label="${TermsUtil.tButton('reset')}" style="margin-left:7px;margin-top:7px;" @click=${this.reset.bind(this)}> </mwc-button>
|
|
151
|
+
<mwc-button raised label="${TermsUtil.tButton('delete')}" style="margin-left:7px;margin-top:7px;" @click=${this.delete.bind(this)}> </mwc-button>
|
|
152
|
+
<mwc-button raised label="${TermsUtil.tButton('save')}" style="margin-left:7px;margin-top:7px;" @click=${this.save.bind(this)}> </mwc-button>
|
|
162
153
|
</div>
|
|
163
|
-
</div
|
|
154
|
+
</div>
|
|
155
|
+
</div>`
|
|
164
156
|
}
|
|
165
157
|
|
|
166
158
|
/**
|
|
@@ -173,43 +165,42 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
|
|
|
173
165
|
}
|
|
174
166
|
|
|
175
167
|
/**
|
|
176
|
-
* @description 컬럼 조회
|
|
168
|
+
* @description 컬럼 조회
|
|
177
169
|
***************************
|
|
178
|
-
* @returns
|
|
170
|
+
* @returns
|
|
179
171
|
*/
|
|
180
172
|
async fetchColumns() {
|
|
181
|
-
// 팝업 오프너에서 받아온 그리스트의 설정으로 보여준다
|
|
182
|
-
let cols = this.configGrist.config.columns
|
|
183
|
-
let filterCols = cols.filter(x => x.type != 'gutter' && x.name != 'id' && x.unusable !== true)
|
|
184
|
-
let rank = 0
|
|
173
|
+
// 팝업 오프너에서 받아온 그리스트의 설정으로 보여준다
|
|
174
|
+
let cols = this.configGrist.config.columns
|
|
175
|
+
let filterCols = cols.filter(x => x.type != 'gutter' && x.name != 'id' && x.unusable !== true)
|
|
176
|
+
let rank = 0
|
|
185
177
|
|
|
186
178
|
let items = filterCols.map(x => {
|
|
187
|
-
rank = rank + 10
|
|
188
|
-
x.rank = rank
|
|
189
|
-
return x
|
|
179
|
+
rank = rank + 10
|
|
180
|
+
x.rank = rank
|
|
181
|
+
return x
|
|
190
182
|
})
|
|
191
183
|
|
|
192
184
|
return { total: 0, records: items }
|
|
193
185
|
}
|
|
194
186
|
|
|
195
187
|
/**
|
|
196
|
-
* @description 개인화 데이터 삭제
|
|
188
|
+
* @description 개인화 데이터 삭제
|
|
197
189
|
***************************
|
|
198
|
-
* @returns
|
|
190
|
+
* @returns
|
|
199
191
|
*/
|
|
200
192
|
async delete(e) {
|
|
201
|
-
let personal = await MetaApi.findMenuGridPersnalTemplate(this.menuId)
|
|
202
|
-
let { id = undefined } = personal
|
|
193
|
+
let personal = await MetaApi.findMenuGridPersnalTemplate(this.menuId)
|
|
194
|
+
let { id = undefined } = personal
|
|
203
195
|
|
|
204
196
|
if (id) {
|
|
205
|
-
let result = await ServiceUtil.deleteListByIds([id], 'deleteGridPersonalizes')
|
|
197
|
+
let result = await ServiceUtil.deleteListByIds([id], 'deleteGridPersonalizes')
|
|
206
198
|
if (result == true) {
|
|
207
|
-
history.back()
|
|
199
|
+
history.back()
|
|
208
200
|
}
|
|
209
201
|
} else {
|
|
210
|
-
await MetaApi.showToast('info', 'there_is_nothing_to_delete')
|
|
202
|
+
await MetaApi.showToast('info', 'there_is_nothing_to_delete')
|
|
211
203
|
}
|
|
212
|
-
|
|
213
204
|
}
|
|
214
205
|
|
|
215
206
|
/**
|
|
@@ -217,59 +208,58 @@ export class PersonalColumnSelector extends localize(i18next)(LitElement) {
|
|
|
217
208
|
************************************************
|
|
218
209
|
*/
|
|
219
210
|
async reset(e) {
|
|
220
|
-
await this.grist.fetch()
|
|
211
|
+
await this.grist.fetch()
|
|
221
212
|
}
|
|
222
213
|
|
|
223
|
-
|
|
224
214
|
/**
|
|
225
|
-
* @description 컬럼 변경 사항 저장
|
|
215
|
+
* @description 컬럼 변경 사항 저장
|
|
226
216
|
************************************************
|
|
227
217
|
*/
|
|
228
218
|
async save(e) {
|
|
229
|
-
// 변경 체크
|
|
230
|
-
MetaApi.patchesForUpdateMultiple(this.grist)
|
|
219
|
+
// 변경 체크
|
|
220
|
+
MetaApi.patchesForUpdateMultiple(this.grist)
|
|
231
221
|
|
|
232
|
-
// 기존 데이터 조회
|
|
233
|
-
let personal = await MetaApi.findMenuGridPersnalTemplate(this.menuId)
|
|
234
|
-
let { id = undefined, template = {} } = personal
|
|
222
|
+
// 기존 데이터 조회
|
|
223
|
+
let personal = await MetaApi.findMenuGridPersnalTemplate(this.menuId)
|
|
224
|
+
let { id = undefined, template = {} } = personal
|
|
235
225
|
|
|
236
|
-
let tempName =
|
|
226
|
+
let tempName = 'master'
|
|
237
227
|
if (this.configGrist.configName) {
|
|
238
|
-
tempName = this.configGrist.configName
|
|
228
|
+
tempName = this.configGrist.configName
|
|
239
229
|
}
|
|
240
230
|
|
|
241
|
-
// 기존 데이터 삭제
|
|
231
|
+
// 기존 데이터 삭제
|
|
242
232
|
if (template[tempName]) {
|
|
243
|
-
delete template[tempName]
|
|
233
|
+
delete template[tempName]
|
|
244
234
|
}
|
|
245
235
|
|
|
246
|
-
// 그리드 설정 데이터 숨김 필드 제외 후 정렬
|
|
247
|
-
let records = this.grist.dirtyData.records
|
|
248
|
-
let data = records.filter(x => x.hidden == false)
|
|
236
|
+
// 그리드 설정 데이터 숨김 필드 제외 후 정렬
|
|
237
|
+
let records = this.grist.dirtyData.records
|
|
238
|
+
let data = records.filter(x => x.hidden == false)
|
|
249
239
|
data.sort((a, b) => {
|
|
250
|
-
return a.rank - b.rank
|
|
251
|
-
})
|
|
240
|
+
return a.rank - b.rank
|
|
241
|
+
})
|
|
252
242
|
template[tempName] = data.map(x => {
|
|
253
243
|
return x.name
|
|
254
|
-
})
|
|
244
|
+
})
|
|
255
245
|
|
|
256
|
-
let patch = { template: JSON.stringify(template) }
|
|
246
|
+
let patch = { template: JSON.stringify(template) }
|
|
257
247
|
|
|
258
|
-
// 기존에 ID 가 있으면 update
|
|
248
|
+
// 기존에 ID 가 있으면 update
|
|
259
249
|
if (id) {
|
|
260
|
-
patch.id = id
|
|
261
|
-
patch.cuFlag =
|
|
250
|
+
patch.id = id
|
|
251
|
+
patch.cuFlag = 'M'
|
|
262
252
|
} else {
|
|
263
253
|
patch.menu = {
|
|
264
254
|
id: this.menuId
|
|
265
|
-
}
|
|
266
|
-
patch.cuFlag =
|
|
255
|
+
}
|
|
256
|
+
patch.cuFlag = '+'
|
|
267
257
|
}
|
|
268
|
-
await MetaApi.updateMultiple(
|
|
258
|
+
await MetaApi.updateMultiple('updateMultipleGridpersonalize', [patch])
|
|
269
259
|
|
|
270
|
-
MetaApi.showToast('info', TermsUtil.tText('success to save'))
|
|
271
|
-
history.back()
|
|
260
|
+
MetaApi.showToast('info', TermsUtil.tText('success to save'))
|
|
261
|
+
history.back()
|
|
272
262
|
}
|
|
273
263
|
}
|
|
274
264
|
|
|
275
|
-
customElements.define('personal-column-selector', PersonalColumnSelector)
|
|
265
|
+
customElements.define('personal-column-selector', PersonalColumnSelector)
|
|
@@ -13,10 +13,6 @@ import { ServiceUtil } from './service-util'
|
|
|
13
13
|
import { UiUtil } from './ui-util'
|
|
14
14
|
import { MetaApi } from './meta-api'
|
|
15
15
|
|
|
16
|
-
import './../pages/personalize/personal-column-selector'
|
|
17
|
-
import './../pages/history/history-copy-list-popup'
|
|
18
|
-
import './../pages/history/history-json-list-popup'
|
|
19
|
-
|
|
20
16
|
/**
|
|
21
17
|
* @license
|
|
22
18
|
* Copyright © HatioLab Inc. All rights reserved.
|
package/client/utils/ui-util.js
CHANGED
|
@@ -7,7 +7,6 @@ import { getEditor } from '@operato/data-grist'
|
|
|
7
7
|
|
|
8
8
|
import { TermsUtil } from './terms-util'
|
|
9
9
|
import { ValueUtil } from './value-util'
|
|
10
|
-
import { MetaUiUtil } from './meta-ui-util'
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* @license
|
|
@@ -102,9 +101,7 @@ export class UiUtil {
|
|
|
102
101
|
*/
|
|
103
102
|
static async openDynamicPopup(title, popupConfig, paramData, popupCloseCallback) {
|
|
104
103
|
// 부모 필드
|
|
105
|
-
let parentValue = ValueUtil.isNotEmpty(popupConfig.parent_field)
|
|
106
|
-
? ValueUtil.getParams(paramData, ...popupConfig.parent_field.split('.'))
|
|
107
|
-
: undefined
|
|
104
|
+
let parentValue = ValueUtil.isNotEmpty(popupConfig.parent_field) ? ValueUtil.getParams(paramData, ...popupConfig.parent_field.split('.')) : undefined
|
|
108
105
|
|
|
109
106
|
// 팝업 엘리먼트 생성
|
|
110
107
|
let htmlText = `<${popupConfig.tagname} route_name='${popupConfig.menu}' parent_id='${parentValue}' is_popup=true></${popupConfig.tagname}>`
|
|
@@ -255,7 +252,7 @@ export class UiUtil {
|
|
|
255
252
|
* @returns {Object} 필터 폼 내의 에디터들이 가지고 있는 값을 키-값 형태로 추출
|
|
256
253
|
*/
|
|
257
254
|
static getFilterFormData(filterForm) {
|
|
258
|
-
let formValues = {}
|
|
255
|
+
let formValues = {}
|
|
259
256
|
|
|
260
257
|
if (ValueUtil.isNotEmpty(filterForm)) {
|
|
261
258
|
let filters = filterForm.filters()
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import './pages/personalize/personal-column-selector';
|
|
2
|
+
import './pages/history/history-copy-list-popup';
|
|
3
|
+
import './pages/history/history-json-list-popup';
|
|
1
4
|
import './pages/activity/meta-activity-writer-element';
|
|
2
5
|
import './pages/activity/meta-activity-viewer-element';
|
|
3
|
-
export default function bootstrap(module: any): void
|
|
6
|
+
export default function bootstrap(module: any): Promise<void>;
|
package/dist-client/bootstrap.js
CHANGED
|
@@ -5,7 +5,6 @@ import { navigate, store } from '@operato/shell';
|
|
|
5
5
|
import { updateMenuTemplate } from './actions/main';
|
|
6
6
|
import metaUI from './reducers/main';
|
|
7
7
|
import { TermsUtil } from './utils/terms-util';
|
|
8
|
-
import { MetaApi } from './utils/meta-api';
|
|
9
8
|
import { GristDefaultValue } from './utils/grist-default-value';
|
|
10
9
|
import { MENUS } from './dynamic-menus';
|
|
11
10
|
import { registerEditor as gristColumnRegisterEditor, registerRenderer as gristColumnRegisterRenderer, registerFilterRenderer as gristRegisterFilterRenderer } from '@operato/data-grist';
|
|
@@ -24,9 +23,13 @@ import { FilterGristMetaObjectSelect } from './component/filter/filter-grist-met
|
|
|
24
23
|
/** Filter Form Component */
|
|
25
24
|
import { FilterFormMetaCodeSelect } from './component/filter/filter-form-meta-code-select';
|
|
26
25
|
import { FilterFormMetaObjectSelect } from './component/filter/filter-form-meta-object-select';
|
|
26
|
+
import './pages/personalize/personal-column-selector';
|
|
27
|
+
import './pages/history/history-copy-list-popup';
|
|
28
|
+
import './pages/history/history-json-list-popup';
|
|
27
29
|
import './pages/activity/meta-activity-writer-element';
|
|
28
30
|
import './pages/activity/meta-activity-viewer-element';
|
|
29
|
-
|
|
31
|
+
import { i18next } from '@operato/i18n';
|
|
32
|
+
export default async function bootstrap(module) {
|
|
30
33
|
// GRIST Renderer
|
|
31
34
|
gristColumnRegisterRenderer('meta-code-selector', GristRendererMetaCodeSelector);
|
|
32
35
|
gristColumnRegisterRenderer('meta-object-selector', GristRendererMetaObjectSelector);
|
|
@@ -46,13 +49,13 @@ export default function bootstrap(module) {
|
|
|
46
49
|
store.addReducers({
|
|
47
50
|
metaUI
|
|
48
51
|
});
|
|
52
|
+
// 1. 용어 다운로드
|
|
53
|
+
var locale = i18next.language;
|
|
54
|
+
if (locale == 'ko') {
|
|
55
|
+
locale = 'ko-KR';
|
|
56
|
+
}
|
|
57
|
+
await TermsUtil.downloadTerminologies(locale);
|
|
49
58
|
auth.on('profile', async ({ credential, domains, domain }) => {
|
|
50
|
-
// 1. 용어 다운로드
|
|
51
|
-
var locale = MetaApi.currentLocale();
|
|
52
|
-
if (locale == 'ko') {
|
|
53
|
-
locale = 'ko-KR';
|
|
54
|
-
}
|
|
55
|
-
await TermsUtil.downloadTerminologies(locale);
|
|
56
59
|
// 2. 메뉴 정보를 서버로 부터 받아서 적용
|
|
57
60
|
const menuRoutes = await MENUS;
|
|
58
61
|
updateMenuTemplate(menuRoutes.menus);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit-html'\n\nimport { auth } from '@things-factory/auth-base/dist-client/auth.js'\nimport { ADD_MORENDA } from '@things-factory/more-base'\nimport { navigate, store } from '@operato/shell'\n\nimport { updateMenuTemplate } from './actions/main'\nimport metaUI from './reducers/main'\nimport { TermsUtil } from './utils/terms-util'\nimport { MetaApi } from './utils/meta-api'\nimport { GristDefaultValue } from './utils/grist-default-value'\nimport { MENUS } from './dynamic-menus'\n\nimport {\n registerEditor as gristColumnRegisterEditor,\n registerRenderer as gristColumnRegisterRenderer,\n registerFilterRenderer as gristRegisterFilterRenderer\n} from '@operato/data-grist'\nimport { registerFilterRenderer as formRegisterFilterRenderer } from '@operato/form'\n\n/** GRIST Renderer Compoment */\nimport { GristRendererMetaCodeSelector } from './component/grist/renderer/grist-renderer-meta-code-selector'\nimport { GristRendererMetaObjectSelector } from './component/grist/renderer/grist-renderer-meta-object-selector'\nimport { GristRendererCodeInput } from './component/grist/renderer/grist-renderer-code-input'\n\n/** GRIST Editor Component */\nimport { GristEditorMetaCodeSelector } from './component/grist/editor/grist-editor-meta-code-selector'\nimport { GristEditorMetaObjectSelector } from './component/grist/editor/grist-editor-meta-object-selector'\nimport { GristEditorCodeInput } from './component/grist/editor/grist-editor-code-input'\n\n/** Grist Filter Compoment */\nimport { FilterGristMetaCodeSelect } from './component/filter/filter-grist-meta-code-select'\nimport { FilterGristMetaObjectSelect } from './component/filter/filter-grist-meta-object-select'\n\n/** Filter Form Component */\nimport { FilterFormMetaCodeSelect } from './component/filter/filter-form-meta-code-select'\nimport { FilterFormMetaObjectSelect } from './component/filter/filter-form-meta-object-select'\n\nimport './pages/activity/meta-activity-writer-element'\nimport './pages/activity/meta-activity-viewer-element'\n\nexport default function bootstrap(module) {\n // GRIST Renderer\n gristColumnRegisterRenderer('meta-code-selector', GristRendererMetaCodeSelector)\n gristColumnRegisterRenderer('meta-object-selector', GristRendererMetaObjectSelector)\n gristColumnRegisterRenderer('code-input', GristRendererCodeInput)\n\n // GRIST Editor\n gristColumnRegisterEditor('meta-code-selector', GristEditorMetaCodeSelector)\n gristColumnRegisterEditor('meta-object-selector', GristEditorMetaObjectSelector)\n gristColumnRegisterEditor('code-input', GristEditorCodeInput)\n\n // Grist Filter Renderer\n gristRegisterFilterRenderer('meta-code-selector', [FilterGristMetaCodeSelect])\n gristRegisterFilterRenderer('meta-object-selector', [FilterGristMetaObjectSelect])\n\n // Filter Form Renderer\n formRegisterFilterRenderer('meta-code-selector', [FilterFormMetaCodeSelect])\n formRegisterFilterRenderer('meta-object-selector', [FilterFormMetaObjectSelect])\n\n // Grist Default Registry\n GristDefaultValue.registry()\n\n store.addReducers({\n metaUI\n })\n\n auth.on('profile', async ({ credential, domains, domain }) => {\n // 1. 용어 다운로드\n var locale = MetaApi.currentLocale()\n if (locale == 'ko') {\n locale = 'ko-KR'\n }\n await TermsUtil.downloadTerminologies(locale)\n\n // 2. 메뉴 정보를 서버로 부터 받아서 적용\n const menuRoutes = await MENUS\n updateMenuTemplate(menuRoutes.menus)\n\n // 3. 동적 메뉴 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>auto_fix_high</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.dynamic_menu\"></ox-i18n>`,\n action: () => {\n navigate('dynamic-menu')\n }\n }\n })\n\n // 4. 엔티티 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>filter_tilt_shift</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.entity\"></ox-i18n>`,\n action: () => {\n navigate('config-entity')\n }\n }\n })\n\n // 5. 용어 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>speaker_notes</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.terminology\"></ox-i18n>`,\n action: () => {\n navigate('config-terminology')\n }\n }\n })\n\n // 6. 공통 코드 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>code</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.code_management\"></ox-i18n>`,\n action: () => {\n navigate('codes')\n }\n }\n })\n\n // 7. 업무정의 리스트 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>business_center</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.meta_activity_list\"></ox-i18n>`,\n action: () => {\n navigate('meta-activity-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>margin</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.meta_activity_define\"></ox-i18n>`,\n action: () => {\n navigate('meta-activity-define')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>work</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.activity_list\"></ox-i18n>`,\n action: () => {\n navigate('activity-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>dataset</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.attribute management\"></ox-i18n> `,\n action: () => {\n navigate('attributes')\n }\n }\n })\n })\n}\n"]}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit-html'\n\nimport { auth } from '@things-factory/auth-base/dist-client/auth.js'\nimport { ADD_MORENDA } from '@things-factory/more-base'\nimport { navigate, store } from '@operato/shell'\n\nimport { updateMenuTemplate } from './actions/main'\nimport metaUI from './reducers/main'\nimport { TermsUtil } from './utils/terms-util'\nimport { GristDefaultValue } from './utils/grist-default-value'\nimport { MENUS } from './dynamic-menus'\n\nimport {\n registerEditor as gristColumnRegisterEditor,\n registerRenderer as gristColumnRegisterRenderer,\n registerFilterRenderer as gristRegisterFilterRenderer\n} from '@operato/data-grist'\nimport { registerFilterRenderer as formRegisterFilterRenderer } from '@operato/form'\n\n/** GRIST Renderer Compoment */\nimport { GristRendererMetaCodeSelector } from './component/grist/renderer/grist-renderer-meta-code-selector'\nimport { GristRendererMetaObjectSelector } from './component/grist/renderer/grist-renderer-meta-object-selector'\nimport { GristRendererCodeInput } from './component/grist/renderer/grist-renderer-code-input'\n\n/** GRIST Editor Component */\nimport { GristEditorMetaCodeSelector } from './component/grist/editor/grist-editor-meta-code-selector'\nimport { GristEditorMetaObjectSelector } from './component/grist/editor/grist-editor-meta-object-selector'\nimport { GristEditorCodeInput } from './component/grist/editor/grist-editor-code-input'\n\n/** Grist Filter Compoment */\nimport { FilterGristMetaCodeSelect } from './component/filter/filter-grist-meta-code-select'\nimport { FilterGristMetaObjectSelect } from './component/filter/filter-grist-meta-object-select'\n\n/** Filter Form Component */\nimport { FilterFormMetaCodeSelect } from './component/filter/filter-form-meta-code-select'\nimport { FilterFormMetaObjectSelect } from './component/filter/filter-form-meta-object-select'\n\nimport './pages/personalize/personal-column-selector'\nimport './pages/history/history-copy-list-popup'\nimport './pages/history/history-json-list-popup'\n\nimport './pages/activity/meta-activity-writer-element'\nimport './pages/activity/meta-activity-viewer-element'\nimport { i18next } from '@operato/i18n'\n\nexport default async function bootstrap(module) {\n // GRIST Renderer\n gristColumnRegisterRenderer('meta-code-selector', GristRendererMetaCodeSelector)\n gristColumnRegisterRenderer('meta-object-selector', GristRendererMetaObjectSelector)\n gristColumnRegisterRenderer('code-input', GristRendererCodeInput)\n\n // GRIST Editor\n gristColumnRegisterEditor('meta-code-selector', GristEditorMetaCodeSelector)\n gristColumnRegisterEditor('meta-object-selector', GristEditorMetaObjectSelector)\n gristColumnRegisterEditor('code-input', GristEditorCodeInput)\n\n // Grist Filter Renderer\n gristRegisterFilterRenderer('meta-code-selector', [FilterGristMetaCodeSelect])\n gristRegisterFilterRenderer('meta-object-selector', [FilterGristMetaObjectSelect])\n\n // Filter Form Renderer\n formRegisterFilterRenderer('meta-code-selector', [FilterFormMetaCodeSelect])\n formRegisterFilterRenderer('meta-object-selector', [FilterFormMetaObjectSelect])\n\n // Grist Default Registry\n GristDefaultValue.registry()\n\n store.addReducers({\n metaUI\n })\n\n // 1. 용어 다운로드\n var locale = i18next.language\n if (locale == 'ko') {\n locale = 'ko-KR'\n }\n await TermsUtil.downloadTerminologies(locale)\n\n auth.on('profile', async ({ credential, domains, domain }) => {\n // 2. 메뉴 정보를 서버로 부터 받아서 적용\n const menuRoutes = await MENUS\n updateMenuTemplate(menuRoutes.menus)\n\n // 3. 동적 메뉴 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>auto_fix_high</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.dynamic_menu\"></ox-i18n>`,\n action: () => {\n navigate('dynamic-menu')\n }\n }\n })\n\n // 4. 엔티티 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>filter_tilt_shift</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.entity\"></ox-i18n>`,\n action: () => {\n navigate('config-entity')\n }\n }\n })\n\n // 5. 용어 관리 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>speaker_notes</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.terminology\"></ox-i18n>`,\n action: () => {\n navigate('config-terminology')\n }\n }\n })\n\n // 6. 공통 코드 화면 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>code</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.code_management\"></ox-i18n>`,\n action: () => {\n navigate('codes')\n }\n }\n })\n\n // 7. 업무정의 리스트 추가\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>business_center</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.meta_activity_list\"></ox-i18n>`,\n action: () => {\n navigate('meta-activity-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>margin</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.meta_activity_define\"></ox-i18n>`,\n action: () => {\n navigate('meta-activity-define')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html`<mwc-icon>work</mwc-icon>`,\n name: html`<ox-i18n msgid=\"title.activity_list\"></ox-i18n>`,\n action: () => {\n navigate('activity-list')\n }\n }\n })\n\n store.dispatch({\n type: ADD_MORENDA,\n morenda: {\n icon: html` <mwc-icon>dataset</mwc-icon> `,\n name: html` <ox-i18n msgid=\"text.attribute management\"></ox-i18n> `,\n action: () => {\n navigate('attributes')\n }\n }\n })\n })\n}\n"]}
|