@things-factory/meta-ui 7.0.1-alpha.1 → 7.0.1-alpha.11

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 (93) hide show
  1. package/client/actions/main.js +14 -20
  2. package/client/bootstrap.ts +13 -6
  3. package/client/component/grist/renderer/grist-renderer-meta-object-selector.js +18 -13
  4. package/client/pages/entity/config-entity.js +180 -112
  5. package/client/pages/entity/main-menu-selector.js +85 -84
  6. package/client/pages/history/history-copy-list-popup.js +33 -45
  7. package/client/pages/history/history-json-list-popup.js +38 -50
  8. package/client/pages/menu/dynamic-menu-template.js +1 -1
  9. package/client/pages/menu/dynamic-menu.js +137 -121
  10. package/client/pages/menu/export-menu-popup.js +210 -218
  11. package/client/pages/personalize/personal-column-selector.js +112 -122
  12. package/client/utils/meta-ui-util.js +0 -4
  13. package/client/utils/service-util.js +4 -4
  14. package/client/utils/terms-util.js +41 -42
  15. package/client/utils/ui-util.js +2 -5
  16. package/client/viewparts/dynamic-menu-part.js +7 -28
  17. package/dist-client/actions/main.js +6 -5
  18. package/dist-client/actions/main.js.map +1 -1
  19. package/dist-client/bootstrap.d.ts +4 -1
  20. package/dist-client/bootstrap.js +12 -6
  21. package/dist-client/bootstrap.js.map +1 -1
  22. package/dist-client/component/grist/renderer/grist-renderer-code-input.d.ts +1 -1
  23. package/dist-client/component/grist/renderer/grist-renderer-meta-code-selector.d.ts +1 -1
  24. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.d.ts +1 -1
  25. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.js +9 -3
  26. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.js.map +1 -1
  27. package/dist-client/component/popup/code-input-editor-popup.d.ts +1 -1
  28. package/dist-client/component/popup/meta-object-selector-popup.d.ts +1 -1
  29. package/dist-client/component/popup/record-based-code-editor-popup.d.ts +1 -1
  30. package/dist-client/mixin/meta-basic-grist-mixin.d.ts +1 -1
  31. package/dist-client/pages/activity/meta-activity-viewer-element.d.ts +1 -1
  32. package/dist-client/pages/activity/meta-activity-writer-element.d.ts +1 -1
  33. package/dist-client/pages/button-role/button-role-detail.d.ts +1 -1
  34. package/dist-client/pages/entity/config-entity.js +131 -62
  35. package/dist-client/pages/entity/config-entity.js.map +1 -1
  36. package/dist-client/pages/entity/main-menu-selector.d.ts +1 -1
  37. package/dist-client/pages/entity/main-menu-selector.js +74 -73
  38. package/dist-client/pages/entity/main-menu-selector.js.map +1 -1
  39. package/dist-client/pages/history/history-copy-list-popup.d.ts +1 -1
  40. package/dist-client/pages/history/history-copy-list-popup.js +14 -26
  41. package/dist-client/pages/history/history-copy-list-popup.js.map +1 -1
  42. package/dist-client/pages/history/history-json-list-popup.d.ts +5 -5
  43. package/dist-client/pages/history/history-json-list-popup.js +19 -31
  44. package/dist-client/pages/history/history-json-list-popup.js.map +1 -1
  45. package/dist-client/pages/menu/dynamic-menu-setting-let.d.ts +1 -1
  46. package/dist-client/pages/menu/dynamic-menu-template.js +1 -1
  47. package/dist-client/pages/menu/dynamic-menu-template.js.map +1 -1
  48. package/dist-client/pages/menu/dynamic-menu.js +68 -48
  49. package/dist-client/pages/menu/dynamic-menu.js.map +1 -1
  50. package/dist-client/pages/menu/export-menu-popup.d.ts +5 -5
  51. package/dist-client/pages/menu/export-menu-popup.js +50 -54
  52. package/dist-client/pages/menu/export-menu-popup.js.map +1 -1
  53. package/dist-client/pages/meta-grist-element.d.ts +1 -1
  54. package/dist-client/pages/meta-grist-page.d.ts +1 -1
  55. package/dist-client/pages/personalize/personal-column-selector.d.ts +1 -1
  56. package/dist-client/pages/personalize/personal-column-selector.js +76 -84
  57. package/dist-client/pages/personalize/personal-column-selector.js.map +1 -1
  58. package/dist-client/pages/work-code/work-code-detail-popup.d.ts +1 -1
  59. package/dist-client/tsconfig.tsbuildinfo +1 -1
  60. package/dist-client/utils/meta-ui-util.js +0 -3
  61. package/dist-client/utils/meta-ui-util.js.map +1 -1
  62. package/dist-client/utils/service-util.js +4 -4
  63. package/dist-client/utils/service-util.js.map +1 -1
  64. package/dist-client/utils/terms-util.d.ts +13 -13
  65. package/dist-client/utils/terms-util.js +10 -12
  66. package/dist-client/utils/terms-util.js.map +1 -1
  67. package/dist-client/utils/ui-util.js +1 -4
  68. package/dist-client/utils/ui-util.js.map +1 -1
  69. package/dist-client/viewparts/dynamic-menu-part.d.ts +1 -1
  70. package/dist-client/viewparts/dynamic-menu-part.js +7 -26
  71. package/dist-client/viewparts/dynamic-menu-part.js.map +1 -1
  72. package/dist-server/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +9 -8
  74. package/client/viewparts/dynamic-menu-landscape-styles.js +0 -149
  75. package/client/viewparts/dynamic-menu-landscape.js +0 -106
  76. package/client/viewparts/dynamic-menu-portrait-styles.js +0 -130
  77. package/client/viewparts/dynamic-menu-portrait.js +0 -90
  78. package/client/viewparts/dynamic-top-menu-bar.js +0 -148
  79. package/dist-client/viewparts/dynamic-menu-landscape-styles.d.ts +0 -1
  80. package/dist-client/viewparts/dynamic-menu-landscape-styles.js +0 -149
  81. package/dist-client/viewparts/dynamic-menu-landscape-styles.js.map +0 -1
  82. package/dist-client/viewparts/dynamic-menu-landscape.d.ts +0 -21
  83. package/dist-client/viewparts/dynamic-menu-landscape.js +0 -87
  84. package/dist-client/viewparts/dynamic-menu-landscape.js.map +0 -1
  85. package/dist-client/viewparts/dynamic-menu-portrait-styles.d.ts +0 -1
  86. package/dist-client/viewparts/dynamic-menu-portrait-styles.js +0 -130
  87. package/dist-client/viewparts/dynamic-menu-portrait-styles.js.map +0 -1
  88. package/dist-client/viewparts/dynamic-menu-portrait.d.ts +0 -13
  89. package/dist-client/viewparts/dynamic-menu-portrait.js +0 -74
  90. package/dist-client/viewparts/dynamic-menu-portrait.js.map +0 -1
  91. package/dist-client/viewparts/dynamic-top-menu-bar.d.ts +0 -27
  92. package/dist-client/viewparts/dynamic-top-menu-bar.js +0 -133
  93. package/dist-client/viewparts/dynamic-top-menu-bar.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { html } from 'lit-element'
1
+ import { html } from 'lit'
2
2
 
3
3
  import { i18next, localize } from '@things-factory/i18n-base'
4
4
  import { PageView } from '@things-factory/shell'
@@ -15,7 +15,6 @@ import { ServiceUtil } from '../../utils/service-util'
15
15
  import { UiUtil } from '../../utils/ui-util'
16
16
 
17
17
  class DynamicMenu extends localize(i18next)(PageView) {
18
-
19
18
  static get properties() {
20
19
  return {
21
20
  searchFields: Array,
@@ -29,29 +28,32 @@ class DynamicMenu extends localize(i18next)(PageView) {
29
28
  return MetaApi.getBasicMasterDetailGristStyle('top-down')
30
29
  }
31
30
 
32
- // 화면
31
+ // 화면
33
32
  render() {
34
33
  return html`
35
34
  <div slot="headroom">
36
35
  <div id="filters">
37
- <ox-filters-form-base
38
- .filters=${this.searchFields|| []}
39
- @filters-change=${e=> { this.groupGrist?.fetch() }}
36
+ <ox-filters-form-base
37
+ .filters=${this.searchFields || []}
38
+ @filters-change=${e => {
39
+ this.groupGrist?.fetch()
40
+ }}
40
41
  ></ox-filters-form-base>
41
42
  </div>
42
43
  </div>
43
44
 
44
- <div class='container'>
45
+ <div class="container">
45
46
  <div class="container_detail">
46
47
  <!--h2>
47
48
  <mwc-icon>list_alt</mwc-icon>${TermsUtil.tTitle('menu_group')}
48
49
  </h2-->
49
- <ox-grist
50
- id="master-grist"
51
- .config=${this.groupConfig}
52
- .mode=${MetaApi.isMobileEnv() ? 'LIST' : 'GRID'}
50
+ <ox-grist
51
+ id="master-grist"
52
+ .config=${this.groupConfig}
53
+ .mode=${MetaApi.isMobileEnv() ? 'LIST' : 'GRID'}
53
54
  auto-fetch
54
- .fetchHandler=${this.fetchGroupHandler.bind(this)}>
55
+ .fetchHandler=${this.fetchGroupHandler.bind(this)}
56
+ >
55
57
  </ox-grist>
56
58
  <div id="button-container" class="button-container">
57
59
  <mwc-button raised label="${TermsUtil.tButton('save')}" @click=${e => this.saveGroup()}></mwc-button>
@@ -60,17 +62,18 @@ class DynamicMenu extends localize(i18next)(PageView) {
60
62
  </div>
61
63
 
62
64
  <div class="container_detail">
63
- <ox-grist
64
- id="detail-grist"
65
- .config=${this.detailConfig}
66
- .mode=${MetaApi.isMobileEnv() ? 'LIST' : 'GRID'}
65
+ <ox-grist
66
+ id="detail-grist"
67
+ .config=${this.detailConfig}
68
+ .mode=${MetaApi.isMobileEnv() ? 'LIST' : 'GRID'}
67
69
  explcit-fetch
68
- .fetchHandler=${this.fetchDetailHandler.bind(this)}>
70
+ .fetchHandler=${this.fetchDetailHandler.bind(this)}
71
+ >
69
72
  </ox-grist>
70
73
  <div id="button-container" class="button-container">
71
- <mwc-button raised label="${TermsUtil.tButton('copy')}" @click=${e => this.copyMenu()}></mwc-button>
72
- <mwc-button raised label="${TermsUtil.tButton('save')}" @click=${e => this.saveMenu()}></mwc-button>
73
- <mwc-button raised label="${TermsUtil.tButton('delete')}" @click=${e => this.deleteMenu()}></mwc-button>
74
+ <mwc-button raised label="${TermsUtil.tButton('copy')}" @click=${e => this.copyMenu()}></mwc-button>
75
+ <mwc-button raised label="${TermsUtil.tButton('save')}" @click=${e => this.saveMenu()}></mwc-button>
76
+ <mwc-button raised label="${TermsUtil.tButton('delete')}" @click=${e => this.deleteMenu()}></mwc-button>
74
77
  </div>
75
78
  </div>
76
79
  </div>
@@ -79,7 +82,7 @@ class DynamicMenu extends localize(i18next)(PageView) {
79
82
 
80
83
  get context() {
81
84
  return {
82
- title: TermsUtil.tTitle('dynamic_menu')
85
+ title: TermsUtil.tTitle('dynamic_menu')
83
86
  }
84
87
  }
85
88
 
@@ -88,7 +91,7 @@ class DynamicMenu extends localize(i18next)(PageView) {
88
91
  }
89
92
 
90
93
  /**
91
- * 메뉴 그룹 그리드
94
+ * 메뉴 그룹 그리드
92
95
  */
93
96
  get groupGrist() {
94
97
  return this.shadowRoot.querySelector('#master-grist')
@@ -108,19 +111,19 @@ class DynamicMenu extends localize(i18next)(PageView) {
108
111
  /**
109
112
  * @description 부모 메뉴 (메뉴 그룹) 선택시 하위 메뉴 리스트 조회
110
113
  *********************************
111
- * @param {Object} param0
114
+ * @param {Object} param0
112
115
  */
113
116
  async fetchDetailHandler({ page, limit = 999999, sorters = [{ name: 'rank' }, { name: 'name' }] }) {
114
- if(this.menuGroupId) {
117
+ if (this.menuGroupId) {
115
118
  let filters = [
116
119
  {
117
- name: 'parentId',
118
- operator: 'eq',
119
- value: this.menuGroupId
120
+ name: 'parentId',
121
+ operator: 'eq',
122
+ value: this.menuGroupId
120
123
  },
121
- ...(await this.searchForm.getQueryFilters()).filter(x=> ['templateCode','templateText'].includes(x.name))
124
+ ...(await this.searchForm.getQueryFilters()).filter(x => ['templateCode', 'templateText'].includes(x.name))
122
125
  ]
123
-
126
+
124
127
  let selectFields = `
125
128
  id
126
129
  name
@@ -143,11 +146,10 @@ class DynamicMenu extends localize(i18next)(PageView) {
143
146
  limit = 999999
144
147
  let fetchResult = await MetaApi.searchByPagination('dynamicMenus', filters, sorters, page, limit, selectFields)
145
148
 
146
- if(fetchResult && fetchResult.records) {
149
+ if (fetchResult && fetchResult.records) {
147
150
  fetchResult.records.forEach(x => {
148
151
  x.parentId = this.menuGroupId
149
152
  })
150
-
151
153
  }
152
154
 
153
155
  return fetchResult
@@ -157,21 +159,18 @@ class DynamicMenu extends localize(i18next)(PageView) {
157
159
  /**
158
160
  * @description 부모 메뉴 (메뉴 그룹) 조회
159
161
  ****************************************
160
- * @param {Object} param0
161
- * @returns
162
+ * @param {Object} param0
163
+ * @returns
162
164
  */
163
165
  async fetchGroupHandler({ page, limit = 999999, sorters = [{ name: 'rank' }, { name: 'name' }] }) {
164
- // 선택된 부모 메뉴 ID 초기화
166
+ // 선택된 부모 메뉴 ID 초기화
165
167
  this.menuGroupId = null
166
168
 
167
- if(this.detailGrist && this.detailGrist.data) {
168
- this.detailGrist.data = {};
169
+ if (this.detailGrist && this.detailGrist.data) {
170
+ this.detailGrist.data = {}
169
171
  }
170
172
 
171
- let filters = [
172
- ...await this.searchForm.getQueryFilters(),
173
- { name: 'parentId', operator: 'is_null', value: '' }
174
- ]
173
+ let filters = [...(await this.searchForm.getQueryFilters()), { name: 'parentId', operator: 'is_null', value: '' }]
175
174
 
176
175
  let selectFields = `
177
176
  id
@@ -194,14 +193,14 @@ class DynamicMenu extends localize(i18next)(PageView) {
194
193
  /*******************************************/
195
194
 
196
195
  /**
197
- * 메뉴 그룹 Create / Update
196
+ * 메뉴 그룹 Create / Update
198
197
  */
199
198
  async saveGroup() {
200
199
  let patches = MetaApi.patchesForUpdateMultiple(this.groupGrist)
201
200
 
202
201
  if (ValueUtil.isNotEmpty(patches)) {
203
202
  patches.forEach(patch => {
204
- if(patch.hiddenFlag === undefined || patch.hiddenFlag == null) {
203
+ if (patch.hiddenFlag === undefined || patch.hiddenFlag == null) {
205
204
  patch.hiddenFlag = false
206
205
  }
207
206
  })
@@ -214,32 +213,32 @@ class DynamicMenu extends localize(i18next)(PageView) {
214
213
  }
215
214
 
216
215
  /**
217
- * 메뉴 그룹 Delete
218
- * @returns
216
+ * 메뉴 그룹 Delete
217
+ * @returns
219
218
  */
220
219
  async deleteGroup() {
221
220
  await MetaApi.deleteListByGristSelected(this.groupGrist, 'deleteMenus')
222
221
  }
223
222
 
224
223
  /**
225
- * 메뉴 Create / Update
224
+ * 메뉴 Create / Update
226
225
  */
227
226
  async saveMenu() {
228
227
  let patches = MetaApi.patchesForUpdateMultiple(this.detailGrist)
229
228
 
230
229
  if (ValueUtil.isNotEmpty(patches)) {
231
230
  patches.forEach(patch => {
232
- patch.menuType = patch.menuType || 'SCREEN'
231
+ patch.menuType = patch.menuType || 'SCREEN'
233
232
 
234
- if(!patch.parentId){
235
- patch.parent = { id : this.menuGroupId }
233
+ if (!patch.parentId) {
234
+ patch.parent = { id: this.menuGroupId }
236
235
  } else {
237
- patch.parent = { id: patch.parentId}
236
+ patch.parent = { id: patch.parentId }
238
237
 
239
238
  delete patch.parentId
240
239
  }
241
240
 
242
- if(patch.hiddenFlag === undefined || patch.hiddenFlag == null) {
241
+ if (patch.hiddenFlag === undefined || patch.hiddenFlag == null) {
243
242
  patch.hiddenFlag = false
244
243
  }
245
244
  })
@@ -255,53 +254,52 @@ class DynamicMenu extends localize(i18next)(PageView) {
255
254
  let exportMenuElement = MetaApi.createCustomElement('export-menu-popup', 'export-menu-popup')
256
255
  exportMenuElement.title = TermsUtil.tLabel('export')
257
256
  exportMenuElement.recordId = record.id
258
- exportMenuElement.recordName = record.name;
259
- await MetaApi.openPopupByElement(record.name, 'large', exportMenuElement, true)
257
+ exportMenuElement.recordName = record.name
258
+ await MetaApi.openPopupByElement(record.name, 'large', exportMenuElement, true)
260
259
  }
261
260
 
262
261
  /**
263
- * 메뉴 Delete
264
- * @returns
262
+ * 메뉴 Delete
263
+ * @returns
265
264
  */
266
265
  async deleteMenu() {
267
266
  await MetaApi.deleteListByGristSelected(this.detailGrist, 'deleteMenus')
268
267
  }
269
268
 
270
269
  /**
271
- * 메뉴 복사
270
+ * 메뉴 복사
272
271
  */
273
272
  async copyMenu() {
274
- let selectMenus = this.detailGrist.selected;
273
+ let selectMenus = this.detailGrist.selected
275
274
 
276
- if(!selectMenus || selectMenus.length == 0){
277
- UiUtil.showAlertPopup('text.nothing_selected', 'text.there_is_no_selected_items', 'info', 'confirm');
278
- return;
275
+ if (!selectMenus || selectMenus.length == 0) {
276
+ UiUtil.showAlertPopup('text.nothing_selected', 'text.there_is_no_selected_items', 'info', 'confirm')
277
+ return
279
278
  }
280
279
 
281
- let copyMenu = selectMenus[0];
280
+ let copyMenu = selectMenus[0]
282
281
 
283
- if(!copyMenu.id){
284
- return;
282
+ if (!copyMenu.id) {
283
+ return
285
284
  }
286
285
 
287
- Object.keys(copyMenu).forEach( x=> {
288
- if(x.startsWith('__')) {
289
- delete copyMenu[x];
286
+ Object.keys(copyMenu).forEach(x => {
287
+ if (x.startsWith('__')) {
288
+ delete copyMenu[x]
290
289
  }
291
290
  })
292
291
 
293
292
  let menu = await MetaApi.findOne('menu', copyMenu.id, 'template')
294
- copyMenu.template = menu ? (menu.template || '') : ''
295
-
296
- copyMenu.rank = 99999;
297
- copyMenu.cuFlag = "+";
293
+ copyMenu.template = menu ? menu.template || '' : ''
298
294
 
299
- copyMenu.name = copyMenu.name + '-copy';
300
- copyMenu.routing = copyMenu.routing + '-copy';
301
- copyMenu.parent = { id: copyMenu.parentId};
302
- delete copyMenu.id;
303
- delete copyMenu.parentId;
295
+ copyMenu.rank = 99999
296
+ copyMenu.cuFlag = '+'
304
297
 
298
+ copyMenu.name = copyMenu.name + '-copy'
299
+ copyMenu.routing = copyMenu.routing + '-copy'
300
+ copyMenu.parent = { id: copyMenu.parentId }
301
+ delete copyMenu.id
302
+ delete copyMenu.parentId
305
303
 
306
304
  let result = await MetaApi.updateMultiple('updateMultipleMenu', [copyMenu])
307
305
  if (result) {
@@ -315,29 +313,29 @@ class DynamicMenu extends localize(i18next)(PageView) {
315
313
  }
316
314
 
317
315
  /**
318
- * 메뉴 템플릿을 편집 할 수 있는 팝업을 오픈한다.
319
- * @param {Object} record
316
+ * 메뉴 템플릿을 편집 할 수 있는 팝업을 오픈한다.
317
+ * @param {Object} record
320
318
  */
321
319
  async openMenuTemplatePopup(record) {
322
320
  let menuTemplateElement = MetaApi.createCustomElement('dynamic-menu-template', 'dynamic-menu-template')
323
321
  menuTemplateElement.title = TermsUtil.tLabel('template')
324
322
  menuTemplateElement.recordId = record.id
325
- await MetaApi.openPopupByElement(record.name, 'large', menuTemplateElement, true)
323
+ await MetaApi.openPopupByElement(record.name, 'large', menuTemplateElement, true)
326
324
  }
327
325
 
328
326
  /**
329
- * 메뉴 템플릿을 생성 할 수 있는 화면으로 이동한다.
330
- * @param {Object} record
327
+ * 메뉴 템플릿을 생성 할 수 있는 화면으로 이동한다.
328
+ * @param {Object} record
331
329
  */
332
- navigateMetaGenerator(record){
330
+ navigateMetaGenerator(record) {
333
331
  MetaApi.pageNavigate(`meta-generator?menuId=${record.id}`)
334
332
  }
335
333
 
336
- /**
337
- * LifeCycle - 화면 레더링 설정
338
- */
334
+ /**
335
+ * LifeCycle - 화면 레더링 설정
336
+ */
339
337
  async pageInitialized() {
340
- // 조회 필드
338
+ // 조회 필드
341
339
  this.searchFields = [
342
340
  // name, type, label, operator, optionValues
343
341
  MetaApi.getGristSearchColumnConfig('name', 'string', 'name', 'i_like'),
@@ -346,10 +344,10 @@ class DynamicMenu extends localize(i18next)(PageView) {
346
344
  // name, type, label, operator
347
345
  MetaApi.getGristSearchColumnConfig('hiddenFlag', 'checkbox', 'hidden', 'eq'),
348
346
  await MetaApi.getGristSearchCodeColumnConfig('templateCode', 'select', 'menu_template_search_code', 'eq', 'MENU_TEXT_SEARCH_TYPE'),
349
- MetaApi.getGristSearchColumnConfig('templateText', 'string', 'menu_template_search_text', 'i_like'),
347
+ MetaApi.getGristSearchColumnConfig('templateText', 'string', 'menu_template_search_text', 'i_like')
350
348
  ]
351
349
 
352
- // 메뉴 그룹 그리드 설정
350
+ // 메뉴 그룹 그리드 설정
353
351
  this.groupConfig = {
354
352
  rows: MetaApi.getGristSelectableConfig(false),
355
353
  // 공간이 부족해서 페이지네이션 제거
@@ -357,14 +355,17 @@ class DynamicMenu extends localize(i18next)(PageView) {
357
355
  appendable: true,
358
356
  columns: [
359
357
  ...MetaApi.getGristGuttersConfig(true, false),
360
- { type: 'gutter', gutterName: 'button', icon: 'menu_open',
358
+ {
359
+ type: 'gutter',
360
+ gutterName: 'button',
361
+ icon: 'menu_open',
361
362
  handlers: {
362
363
  click: (_columns, _data, _column, record, _rowIndex) => {
363
364
  if (record.id) {
364
365
  this.groupMenuQuery(record)
365
366
  }
366
367
  }
367
- },
368
+ }
368
369
  },
369
370
  {
370
371
  type: 'integer',
@@ -399,13 +400,13 @@ class DynamicMenu extends localize(i18next)(PageView) {
399
400
  // type, name, displayName, align, editable, sortable, width
400
401
  MetaApi.getGristColumnConfig2('string', 'iconPath', 'icon', 'left', true, false, 115),
401
402
  MetaApi.getGristColumnConfig2('boolean', 'hiddenFlag', 'hidden', 'center', true, false, 55),
402
- MetaApi.getGristColumnConfig2('string', 'routing', 'routing','left', true, false, 135),
403
+ MetaApi.getGristColumnConfig2('string', 'routing', 'routing', 'left', true, false, 135),
403
404
  MetaApi.getGristColumnConfig2('string', 'category', 'tag', 'left', true, false, 135),
404
405
  MetaApi.getGristColumnConfig2('string', 'resourceUrl', 'page_location', 'left', true, false, 350)
405
406
  ]
406
407
  }
407
408
 
408
- // 메뉴 그리드 설정
409
+ // 메뉴 그리드 설정
409
410
  this.detailConfig = {
410
411
  rows: MetaApi.getGristSelectableConfig(false),
411
412
  // 공간이 부족해서 페이지네이션 제거
@@ -413,32 +414,41 @@ class DynamicMenu extends localize(i18next)(PageView) {
413
414
  appendable: true,
414
415
  columns: [
415
416
  ...MetaApi.getGristGuttersConfig(true, false),
416
- { type: 'gutter', gutterName: 'button', icon: 'download',
417
+ {
418
+ type: 'gutter',
419
+ gutterName: 'button',
420
+ icon: 'download',
417
421
  handlers: {
418
422
  click: (_columns, _data, _column, record, _rowIndex) => {
419
423
  if (record.id) {
420
424
  this.exportMenu(record)
421
425
  }
422
426
  }
423
- },
427
+ }
424
428
  },
425
- { type: 'gutter', gutterName: 'button', icon: 'code',
429
+ {
430
+ type: 'gutter',
431
+ gutterName: 'button',
432
+ icon: 'code',
426
433
  handlers: {
427
434
  click: (_columns, _data, _column, record, _rowIndex) => {
428
435
  if (record.id) {
429
436
  this.openMenuTemplatePopup(record)
430
437
  }
431
438
  }
432
- },
439
+ }
433
440
  },
434
- { type: 'gutter', gutterName: 'button', icon: 'construction',
441
+ {
442
+ type: 'gutter',
443
+ gutterName: 'button',
444
+ icon: 'construction',
435
445
  handlers: {
436
446
  click: (_columns, _data, _column, record, _rowIndex) => {
437
447
  if (record.id) {
438
448
  this.navigateMetaGenerator(record)
439
449
  }
440
450
  }
441
- },
451
+ }
442
452
  },
443
453
  {
444
454
  type: 'integer',
@@ -482,34 +492,40 @@ class DynamicMenu extends localize(i18next)(PageView) {
482
492
  header: TermsUtil.tLabel('parent-menu'),
483
493
  record: {
484
494
  renderer: (value, column, record, rowIndex, field) => {
485
- return value ? (value.name + ' (' + TermsUtil.tMenu(value.name) + ')') : ''
495
+ return value ? value.name + ' (' + TermsUtil.tMenu(value.name) + ')' : ''
486
496
  },
487
497
  editable: true,
488
498
  options: {
489
499
  title: TermsUtil.tLabel('parent-menu'),
490
500
  queryName: 'menus',
491
- pagination: { pages : [1000] },
501
+ pagination: { pages: [1000] },
492
502
  basicArgs: {
493
- filters: [{
494
- name: 'parentId', operator: 'is_null'
495
- }],
496
- sortings: [{
497
- name: 'rank', desc: false
498
- }],
503
+ filters: [
504
+ {
505
+ name: 'parentId',
506
+ operator: 'is_null'
507
+ }
508
+ ],
509
+ sortings: [
510
+ {
511
+ name: 'rank',
512
+ desc: false
513
+ }
514
+ ]
499
515
  },
500
516
  list: { fields: ['id', 'name'] },
501
517
  columns: [
502
518
  { name: 'id', hidden: true },
503
- {
519
+ {
504
520
  name: 'rank',
505
521
  header: TermsUtil.tLabel('rank'),
506
- width : 75,
507
- record : {
522
+ width: 75,
523
+ record: {
508
524
  editable: false,
509
525
  format: '#,###',
510
526
  align: 'left'
511
527
  },
512
- sortable: true,
528
+ sortable: true
513
529
  },
514
530
  {
515
531
  name: 'name',
@@ -528,24 +544,24 @@ class DynamicMenu extends localize(i18next)(PageView) {
528
544
  }
529
545
  }
530
546
  },
531
- {
532
- type: 'code',
533
- name: 'menuType',
547
+ {
548
+ type: 'code',
549
+ name: 'menuType',
534
550
  width: 120,
535
551
  header: TermsUtil.tLabel('menu_type'),
536
- record: {
537
- editable: false,
538
- codeName: 'MENU_TYPE'
552
+ record: {
553
+ editable: false,
554
+ codeName: 'MENU_TYPE'
539
555
  }
540
556
  },
541
- {
542
- name: 'routing',
557
+ {
558
+ name: 'routing',
543
559
  width: 150,
544
560
  header: TermsUtil.tLabel('routing'),
545
- record: {
561
+ record: {
546
562
  editable: false
547
563
  }
548
- },
564
+ }
549
565
  ],
550
566
  valueField: 'id',
551
567
  nameField: 'name',
@@ -553,7 +569,7 @@ class DynamicMenu extends localize(i18next)(PageView) {
553
569
  }
554
570
  },
555
571
  width: 200
556
- },
572
+ }
557
573
  /*{
558
574
  type: 'meta-code-selector',
559
575
  header: TermsUtil.tLabel('parent-menu'),
@@ -612,8 +628,8 @@ class DynamicMenu extends localize(i18next)(PageView) {
612
628
  width: 120
613
629
  }*/
614
630
  ]
615
- }
631
+ }
616
632
  }
617
633
  }
618
634
 
619
- customElements.define('dynamic-menu', DynamicMenu)
635
+ customElements.define('dynamic-menu', DynamicMenu)