@things-factory/operato-tools 7.0.1-alpha.3 → 7.0.1-alpha.4
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/pages/generator/button-config-tab-mixin.js +288 -300
- package/client/pages/generator/column-config-tab-mixin.js +502 -499
- package/client/pages/generator/etc-config-tab-mixin.js +90 -93
- package/client/pages/generator/form-config-tab-mixin.js +143 -149
- package/client/pages/generator/graphql-config-tab-mixin.js +281 -277
- package/client/pages/generator/grid-config-tab-mixin.js +135 -147
- package/client/pages/generator/grid-emphasized-config-tab-mixin.js +256 -256
- package/client/pages/generator/menu-config-tab-mixin.js +94 -100
- package/client/pages/generator/meta-generator-page.js +179 -174
- package/client/pages/generator/search-config-tab-mixin.js +153 -161
- package/client/pages/generator/tab-config-tab-mixin.js +204 -204
- package/client/pages/main.js +1 -1
- package/package.json +3 -3
|
@@ -1,144 +1,136 @@
|
|
|
1
|
-
import { html } from 'lit
|
|
1
|
+
import { html } from 'lit'
|
|
2
2
|
|
|
3
3
|
import { TermsUtil } from '@things-factory/meta-ui/client/utils/terms-util'
|
|
4
4
|
import { MetaApi } from '@things-factory/meta-ui/client/utils/meta-api'
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
6
|
+
export const GridConfigTabMixin = baseElement =>
|
|
7
|
+
class extends baseElement {
|
|
8
|
+
setGridConfigTabValues(data) {
|
|
9
|
+
// 1. 기존 데이터가 있으면 기존 데이터 사용
|
|
10
|
+
if (data) {
|
|
11
|
+
let { mobile_mode = '', desk_mode = '', pages = [], use_row_checker = true, view_mode = [] } = data.option || {}
|
|
12
|
+
|
|
13
|
+
let multiple_select = (data.row || { multiple_select: false }).multiple_select
|
|
14
|
+
let pageCode = (function () {
|
|
15
|
+
if (pages == 'unlimited') {
|
|
16
|
+
return 'grid_term_unlimited'
|
|
17
|
+
} else if (pages.length == 0) {
|
|
18
|
+
return ''
|
|
19
|
+
} else if (pages[0] == 20) {
|
|
20
|
+
return 'grid_term_default'
|
|
21
|
+
} else {
|
|
22
|
+
return `grid_term_${pages[0]}`
|
|
23
|
+
}
|
|
24
|
+
})()
|
|
25
|
+
|
|
26
|
+
this.viewGridData = {
|
|
27
|
+
mobile_mode: mobile_mode,
|
|
28
|
+
desk_mode: desk_mode,
|
|
29
|
+
use_row_checker: use_row_checker,
|
|
30
|
+
pages: pageCode,
|
|
31
|
+
view_mode: view_mode,
|
|
32
|
+
multiple_select: multiple_select,
|
|
33
|
+
use_filter_form: data.use_filter_form,
|
|
34
|
+
grid_refresh_when_page_activated: data.grid_refresh_when_page_activated
|
|
30
35
|
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
mobile_mode: mobile_mode,
|
|
35
|
-
desk_mode: desk_mode,
|
|
36
|
-
use_row_checker: use_row_checker,
|
|
37
|
-
pages: pageCode,
|
|
38
|
-
view_mode: view_mode,
|
|
39
|
-
multiple_select: multiple_select,
|
|
40
|
-
use_filter_form: data.use_filter_form,
|
|
41
|
-
grid_refresh_when_page_activated: data.grid_refresh_when_page_activated
|
|
36
|
+
} else {
|
|
37
|
+
// 3. 기존 데이터가 없으면 기본값 설정
|
|
38
|
+
this.setGridConfigTabDetaultValues()
|
|
42
39
|
}
|
|
43
|
-
} else {
|
|
44
|
-
// 3. 기존 데이터가 없으면 기본값 설정
|
|
45
|
-
this.setGridConfigTabDetaultValues();
|
|
46
40
|
}
|
|
47
|
-
}
|
|
48
41
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
42
|
+
getGridConfigTabValues() {
|
|
43
|
+
// 그리드 기본 옵션
|
|
44
|
+
let retObject = {
|
|
45
|
+
grid: {
|
|
46
|
+
option: {},
|
|
47
|
+
row: {
|
|
48
|
+
click: 'select-row-toggle'
|
|
49
|
+
}
|
|
56
50
|
}
|
|
57
51
|
}
|
|
58
|
-
};
|
|
59
52
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
53
|
+
// input 객체에서 값 가져오기
|
|
54
|
+
let grid_row_check_use = this.getElementValueById('grid_row_check_use')
|
|
55
|
+
let grid_multi_select = this.getElementValueById('grid_multi_select')
|
|
56
|
+
let grid_desk_view = this.getElementValueById('grid_desk_view')
|
|
57
|
+
let grid_mobile_view = this.getElementValueById('grid_mobile_view')
|
|
58
|
+
|
|
59
|
+
let grid_use_filter = this.getElementValueById('grid_use_filter')
|
|
60
|
+
let grid_refresh_when_page_activated = this.getElementValueById('grid_refresh_when_page_activated')
|
|
61
|
+
|
|
62
|
+
let grid_pagination = this.getElementValueById('grid_pagination')
|
|
63
|
+
|
|
64
|
+
let grid_view_use = this.getElementValueById('grid_view_use')
|
|
65
|
+
let list_view_use = this.getElementValueById('list_view_use')
|
|
66
|
+
let card_view_use = this.getElementValueById('card_view_use')
|
|
67
|
+
|
|
68
|
+
// 옵션 설정
|
|
69
|
+
retObject.grid.use_filter_form = grid_use_filter == 'true' ? true : false
|
|
70
|
+
retObject.grid.grid_refresh_when_page_activated = grid_refresh_when_page_activated == 'true' ? true : false
|
|
71
|
+
retObject.grid.row.multiple_select = grid_multi_select == 'true' ? true : false
|
|
72
|
+
|
|
73
|
+
retObject.grid.option.use_row_checker = grid_row_check_use == 'true' ? true : false
|
|
74
|
+
retObject.grid.option.mobile_mode = grid_mobile_view
|
|
75
|
+
retObject.grid.option.desk_mode = grid_desk_view
|
|
76
|
+
|
|
77
|
+
// 페이지 네이션 설정 변환
|
|
78
|
+
if (grid_pagination == 'grid_term_default') {
|
|
79
|
+
retObject.grid.option.pages = [20, 30, 50, 100]
|
|
80
|
+
} else if (grid_pagination == 'grid_term_50') {
|
|
81
|
+
retObject.grid.option.pages = [50, 100, 500, 1000]
|
|
82
|
+
} else if (grid_pagination == 'grid_term_100') {
|
|
83
|
+
retObject.grid.option.pages = [100, 500, 1000, 5000]
|
|
84
|
+
} else if (grid_pagination == 'grid_term_1000') {
|
|
85
|
+
retObject.grid.option.pages = [1000, 5000, 10000, 50000, 100000]
|
|
86
|
+
} else if (grid_pagination == 'grid_term_unlimited') {
|
|
87
|
+
retObject.grid.option.pages = 'unlimited'
|
|
88
|
+
}
|
|
74
89
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
90
|
+
// 그리드 지원 뷰 옵션 설정
|
|
91
|
+
retObject.grid.option.view_mode = []
|
|
92
|
+
if (grid_view_use == 'true') retObject.grid.option.view_mode.push('GRID')
|
|
93
|
+
if (list_view_use == 'true') retObject.grid.option.view_mode.push('LIST')
|
|
94
|
+
if (card_view_use == 'true') retObject.grid.option.view_mode.push('CARD')
|
|
79
95
|
|
|
80
|
-
|
|
81
|
-
retObject.grid.option.mobile_mode = grid_mobile_view;
|
|
82
|
-
retObject.grid.option.desk_mode = grid_desk_view;
|
|
83
|
-
|
|
84
|
-
// 페이지 네이션 설정 변환
|
|
85
|
-
if(grid_pagination == 'grid_term_default') {
|
|
86
|
-
retObject.grid.option.pages = [20, 30, 50, 100];
|
|
87
|
-
} else if (grid_pagination == 'grid_term_50') {
|
|
88
|
-
retObject.grid.option.pages = [50, 100, 500, 1000];
|
|
89
|
-
} else if (grid_pagination == 'grid_term_100') {
|
|
90
|
-
retObject.grid.option.pages = [100, 500, 1000, 5000];
|
|
91
|
-
} else if (grid_pagination == 'grid_term_1000') {
|
|
92
|
-
retObject.grid.option.pages = [1000, 5000, 10000, 50000, 100000];
|
|
93
|
-
} else if (grid_pagination == 'grid_term_unlimited') {
|
|
94
|
-
retObject.grid.option.pages = 'unlimited';
|
|
96
|
+
return retObject
|
|
95
97
|
}
|
|
96
98
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
/**
|
|
100
|
+
* lifecycle
|
|
101
|
+
*/
|
|
102
|
+
async setGridConfigTabConfig() {
|
|
103
|
+
// 1. 코드 조회
|
|
104
|
+
let gridPageOptions = await MetaApi.codeItems('GRID_PAGE_OPTIONS')
|
|
105
|
+
let gridViewModes = await MetaApi.codeItems('GRID_VIEW_MODE')
|
|
102
106
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* lifecycle
|
|
108
|
-
*/
|
|
109
|
-
async setGridConfigTabConfig() {
|
|
110
|
-
// 1. 코드 조회
|
|
111
|
-
let gridPageOptions = await MetaApi.codeItems('GRID_PAGE_OPTIONS');
|
|
112
|
-
let gridViewModes = await MetaApi.codeItems('GRID_VIEW_MODE');
|
|
113
|
-
|
|
114
|
-
this.gridViewModes = gridViewModes;
|
|
115
|
-
this.gridPageOptions = gridPageOptions;
|
|
116
|
-
}
|
|
107
|
+
this.gridViewModes = gridViewModes
|
|
108
|
+
this.gridPageOptions = gridPageOptions
|
|
109
|
+
}
|
|
117
110
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
111
|
+
/**
|
|
112
|
+
* 기본 값 설정
|
|
113
|
+
*/
|
|
114
|
+
setGridConfigTabDetaultValues() {
|
|
115
|
+
if (!this.viewGridData) {
|
|
116
|
+
this.viewGridData = {
|
|
117
|
+
mobile_mode: this.gridViewModes ? this.gridViewModes[1] : 'LIST',
|
|
118
|
+
desk_mode: this.gridViewModes ? this.gridViewModes[0] : 'GRID',
|
|
119
|
+
use_row_checker: true,
|
|
120
|
+
pages: 'grid_term_default',
|
|
121
|
+
view_mode: [...(this.gridViewModes ? this.gridViewModes : ['GRID', 'LIST', 'CARD'])],
|
|
122
|
+
multiple_select: true,
|
|
123
|
+
use_filter_form: true,
|
|
124
|
+
grid_refresh_when_page_activated: false
|
|
125
|
+
}
|
|
132
126
|
}
|
|
133
127
|
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
128
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
129
|
+
// 화면
|
|
130
|
+
renderGridConfigTab() {
|
|
131
|
+
this.setGridConfigTabDetaultValues()
|
|
140
132
|
|
|
141
|
-
|
|
133
|
+
let renderHtml = html`
|
|
142
134
|
<div field-2column>
|
|
143
135
|
<div field>
|
|
144
136
|
<h2>
|
|
@@ -198,11 +190,9 @@ export const GridConfigTabMixin = (baseElement) => class extends baseElement {
|
|
|
198
190
|
</h2>
|
|
199
191
|
<label>
|
|
200
192
|
<select id="grid_desk_view" name="grid_desk_view">
|
|
201
|
-
${
|
|
202
|
-
this.
|
|
203
|
-
|
|
204
|
-
})
|
|
205
|
-
}
|
|
193
|
+
${this.gridViewModes?.map(x => {
|
|
194
|
+
return html`<option value=${x.name} ?selected=${this.viewGridData.desk_mode == x.name}>${x.description}</option>`
|
|
195
|
+
})}
|
|
206
196
|
</select>
|
|
207
197
|
</label>
|
|
208
198
|
</div>
|
|
@@ -212,11 +202,9 @@ export const GridConfigTabMixin = (baseElement) => class extends baseElement {
|
|
|
212
202
|
</h2>
|
|
213
203
|
<label>
|
|
214
204
|
<select id="grid_mobile_view" name="grid_mobile_view">
|
|
215
|
-
${
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
})
|
|
219
|
-
}
|
|
205
|
+
${this.gridViewModes?.map(x => {
|
|
206
|
+
return html`<option value=${x.name} ?selected=${this.viewGridData.mobile_mode == x.name}>${x.description}</option>`
|
|
207
|
+
})}
|
|
220
208
|
</select>
|
|
221
209
|
</label>
|
|
222
210
|
</div>
|
|
@@ -225,16 +213,18 @@ export const GridConfigTabMixin = (baseElement) => class extends baseElement {
|
|
|
225
213
|
<mwc-icon>list_alt</mwc-icon>${TermsUtil.tLabel('grid_support_view')}
|
|
226
214
|
</h2>
|
|
227
215
|
<label>
|
|
228
|
-
${
|
|
229
|
-
|
|
230
|
-
return html`
|
|
216
|
+
${this.gridViewModes?.map(x => {
|
|
217
|
+
return html`
|
|
231
218
|
<span>${x.name}
|
|
232
|
-
<input type="radio" name=${x.name.toLowerCase() +
|
|
233
|
-
|
|
219
|
+
<input type="radio" name=${x.name.toLowerCase() + '_view_use'} id=${
|
|
220
|
+
x.name.toLowerCase() + '_view_use'
|
|
221
|
+
} ?checked=${this.viewGridData.view_mode.includes(x.name)} value="true">${TermsUtil.tLabel('use')}</input>
|
|
222
|
+
<input type="radio" name=${x.name.toLowerCase() + '_view_use'} id=${
|
|
223
|
+
x.name.toLowerCase() + '_view_use'
|
|
224
|
+
} ?checked=${!this.viewGridData.view_mode.includes(x.name)} value="false">${TermsUtil.tLabel('unuse')}</input>
|
|
234
225
|
</span>
|
|
235
226
|
`
|
|
236
|
-
|
|
237
|
-
}
|
|
227
|
+
})}
|
|
238
228
|
</label>
|
|
239
229
|
</div>
|
|
240
230
|
<div field>
|
|
@@ -242,23 +232,21 @@ export const GridConfigTabMixin = (baseElement) => class extends baseElement {
|
|
|
242
232
|
<mwc-icon>list_alt</mwc-icon>${TermsUtil.tLabel('grid_pagination')}
|
|
243
233
|
</h2>
|
|
244
234
|
<label>
|
|
245
|
-
${
|
|
246
|
-
|
|
247
|
-
return html`
|
|
235
|
+
${this.gridPageOptions?.map(x => {
|
|
236
|
+
return html`
|
|
248
237
|
<span>
|
|
249
|
-
<input type="radio" name="grid_pagination" id="grid_pagination" value=${x.name} ?checked=${this.viewGridData.pages==x.name
|
|
250
|
-
|
|
238
|
+
<input type="radio" name="grid_pagination" id="grid_pagination" value=${x.name} ?checked=${this.viewGridData.pages == x.name}>${TermsUtil.tLabel(
|
|
239
|
+
x.name
|
|
240
|
+
)}</input>
|
|
251
241
|
</span>
|
|
252
242
|
`
|
|
253
|
-
|
|
254
|
-
}
|
|
243
|
+
})}
|
|
255
244
|
</label>
|
|
256
245
|
</div>
|
|
257
246
|
</div>
|
|
258
247
|
</div>
|
|
259
248
|
`
|
|
260
249
|
|
|
261
|
-
|
|
250
|
+
return renderHtml
|
|
251
|
+
}
|
|
262
252
|
}
|
|
263
|
-
}
|
|
264
|
-
|