@things-factory/operato-tools 7.0.1-alpha.1 → 7.0.1-alpha.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,190 +1,182 @@
1
- import { html } from 'lit-element'
1
+ import { html } from 'lit'
2
2
 
3
3
  import { MetaApi } from '@things-factory/meta-ui/client/utils/meta-api'
4
4
  import { TermsUtil } from '@things-factory/meta-ui/client/utils/terms-util'
5
5
 
6
- export const SearchConfigTabMixin = (baseElement) => class extends baseElement {
7
- setSearchConfigTabValues(data) {
8
- let convData = data?.map((column, index) => {
9
- let rank = index + 1;
10
- let retData = {};
11
-
12
- if (typeof column === 'object') {
13
- Object.assign(retData, column);
14
- } else {
15
- retData.name = column;
16
- retData.operator = 'filter';
17
- }
6
+ export const SearchConfigTabMixin = baseElement =>
7
+ class extends baseElement {
8
+ setSearchConfigTabValues(data) {
9
+ let convData = data?.map((column, index) => {
10
+ let rank = index + 1
11
+ let retData = {}
18
12
 
19
- retData.rank = rank * 10;
20
- retData.id = rank;
13
+ if (typeof column === 'object') {
14
+ Object.assign(retData, column)
15
+ } else {
16
+ retData.name = column
17
+ retData.operator = 'filter'
18
+ }
21
19
 
22
- return retData;
23
- })
20
+ retData.rank = rank * 10
21
+ retData.id = rank
24
22
 
25
- this.viewSearchData = convData || [];
26
- this.searchTabGrist?.fetch();
27
- }
23
+ return retData
24
+ })
25
+
26
+ this.viewSearchData = convData || []
27
+ this.searchTabGrist?.fetch()
28
+ }
28
29
 
29
- getSearchConfigTabValues() {
30
- // 기본 return object
31
- let retObject = {
32
- search: [],
33
- gql: {
34
- query: {
35
- filters: []
30
+ getSearchConfigTabValues() {
31
+ // 기본 return object
32
+ let retObject = {
33
+ search: [],
34
+ gql: {
35
+ query: {
36
+ filters: []
37
+ }
36
38
  }
37
39
  }
38
- };
39
-
40
- // grid 에서 데이터 가져오기
41
- let gridValue = this.getElementValueById('search-tab-grid');
42
40
 
43
- // rank 정렬
44
- this.sortRecordByRank(gridValue)?.forEach(x => {
45
- var {
46
- name = undefined,
47
- operator = 'eq',
48
- hidden = false,
49
- value = undefined
50
- } = x;
41
+ // grid 에서 데이터 가져오기
42
+ let gridValue = this.getElementValueById('search-tab-grid')
51
43
 
52
- if (!name) return;
44
+ // rank 로 정렬
45
+ this.sortRecordByRank(gridValue)?.forEach(x => {
46
+ var { name = undefined, operator = 'eq', hidden = false, value = undefined } = x
53
47
 
48
+ if (!name) return
54
49
 
55
- // filter
56
- if (operator == 'filter') {
57
- retObject.search.push(name);
58
- }
59
- else {
60
- let search = {
61
- name: name,
62
- operator: operator
63
- };
64
-
65
- // 조회 조건 hidden 이면 숨겨진 값
66
- if (hidden == true) {
67
- search.value = value;
68
- retObject.gql.query.filters.push(search);
50
+ // filter
51
+ if (operator == 'filter') {
52
+ retObject.search.push(name)
69
53
  } else {
70
- search.value = value;
71
- retObject.search.push(search)
72
- }
73
- }
74
- });
75
-
76
- return retObject;
77
- }
54
+ let search = {
55
+ name: name,
56
+ operator: operator
57
+ }
78
58
 
59
+ // 조회 조건 hidden 이면 숨겨진 값
60
+ if (hidden == true) {
61
+ search.value = value
62
+ retObject.gql.query.filters.push(search)
63
+ } else {
64
+ search.value = value
65
+ retObject.search.push(search)
66
+ }
67
+ }
68
+ })
79
69
 
70
+ return retObject
71
+ }
80
72
 
81
- renderSearchConfigTab() {
82
- return html`
83
- <ox-grist auto-fetch id="search-tab-grid" .config=${this.searchTabGridConfig} .mode='GRID'
84
- .fetchHandler=${this.fetchSearchTabHandler.bind(this)}>
73
+ renderSearchConfigTab() {
74
+ return html` <ox-grist auto-fetch id="search-tab-grid" .config=${this.searchTabGridConfig} .mode="GRID" .fetchHandler=${this.fetchSearchTabHandler.bind(this)}>
85
75
  </ox-grist>`
86
- }
76
+ }
87
77
 
88
- get searchTabGrist() {
89
- return this.shadowRoot.querySelector('#search-tab-grid')
90
- }
78
+ get searchTabGrist() {
79
+ return this.shadowRoot.querySelector('#search-tab-grid')
80
+ }
91
81
 
92
- async fetchSearchTabHandler() {
93
- return {
94
- total: 0,
95
- records: this.viewSearchData || []
82
+ async fetchSearchTabHandler() {
83
+ return {
84
+ total: 0,
85
+ records: this.viewSearchData || []
86
+ }
96
87
  }
97
- }
98
88
 
99
- async setSearchConfigTabConfig() {
100
- // 필터 리스트
101
- let filters = await MetaApi.getCodeSelectorData('FILTER_OPERATORS');
102
-
103
- // 그리드 설정
104
- this.searchTabGridConfig = {
105
- rows: MetaApi.getGristSelectableConfig(true),
106
- pagination: { infinite: true },
107
- sorters: [{ name: 'rank', desc: false }],
108
- appendable: true,
109
- columns: [
110
- ...MetaApi.getGristGuttersConfig(false, false),
111
- {
112
- type: 'gutter', gutterName: 'button', icon: 'delete',
113
- handlers: {
114
- click: (_columns, _data, _column, record, _rowIndex) => {
115
- if (record.id) {
116
- this.deleteRow(this.searchTabGrist, record);
89
+ async setSearchConfigTabConfig() {
90
+ // 필터 리스트
91
+ let filters = await MetaApi.getCodeSelectorData('FILTER_OPERATORS')
92
+
93
+ // 그리드 설정
94
+ this.searchTabGridConfig = {
95
+ rows: MetaApi.getGristSelectableConfig(true),
96
+ pagination: { infinite: true },
97
+ sorters: [{ name: 'rank', desc: false }],
98
+ appendable: true,
99
+ columns: [
100
+ ...MetaApi.getGristGuttersConfig(false, false),
101
+ {
102
+ type: 'gutter',
103
+ gutterName: 'button',
104
+ icon: 'delete',
105
+ handlers: {
106
+ click: (_columns, _data, _column, record, _rowIndex) => {
107
+ if (record.id) {
108
+ this.deleteRow(this.searchTabGrist, record)
109
+ }
117
110
  }
118
111
  }
119
112
  },
120
- },
121
- {
122
- type: 'string',
123
- name: 'id',
124
- hidden: true
125
- },
126
- {
127
- type: 'integer',
128
- name: 'rank',
129
- header: TermsUtil.tLabel('rank'),
130
- sortable: false,
131
- width: 50,
132
- record: {
133
- align: 'right',
134
- editable: true,
135
- mandatory: true
136
- }
137
- },
138
- {
139
- type: 'string',
140
- name: 'name',
141
- header: TermsUtil.tLabel('name'),
142
- sortable: false,
143
- width: 200,
144
- record: {
145
- align: 'left',
146
- editable: true,
147
- mandatory: true
148
- }
149
- },
150
- {
151
- type: 'select',
152
- name: 'operator',
153
- header: TermsUtil.tLabel('search_operator'),
154
- sortable: false,
155
- width: 100,
156
- record: {
157
- align: 'left',
158
- editable: true,
159
- mandatory: false,
160
- options: filters,
161
- }
162
- },
163
- {
164
- type: 'boolean',
165
- name: 'hidden',
166
- header: TermsUtil.tLabel('hidden'),
167
- sortable: false,
168
- width: 55,
169
- record: {
170
- align: 'center',
171
- mandatory: false,
172
- editable: true
173
- }
174
- },
175
- {
176
- type: 'string',
177
- name: 'value',
178
- header: TermsUtil.tLabel('default_value'),
179
- sortable: false,
180
- width: 750,
181
- record: {
182
- align: 'left',
183
- editable: true,
184
- mandatory: false
113
+ {
114
+ type: 'string',
115
+ name: 'id',
116
+ hidden: true
117
+ },
118
+ {
119
+ type: 'integer',
120
+ name: 'rank',
121
+ header: TermsUtil.tLabel('rank'),
122
+ sortable: false,
123
+ width: 50,
124
+ record: {
125
+ align: 'right',
126
+ editable: true,
127
+ mandatory: true
128
+ }
129
+ },
130
+ {
131
+ type: 'string',
132
+ name: 'name',
133
+ header: TermsUtil.tLabel('name'),
134
+ sortable: false,
135
+ width: 200,
136
+ record: {
137
+ align: 'left',
138
+ editable: true,
139
+ mandatory: true
140
+ }
141
+ },
142
+ {
143
+ type: 'select',
144
+ name: 'operator',
145
+ header: TermsUtil.tLabel('search_operator'),
146
+ sortable: false,
147
+ width: 100,
148
+ record: {
149
+ align: 'left',
150
+ editable: true,
151
+ mandatory: false,
152
+ options: filters
153
+ }
154
+ },
155
+ {
156
+ type: 'boolean',
157
+ name: 'hidden',
158
+ header: TermsUtil.tLabel('hidden'),
159
+ sortable: false,
160
+ width: 55,
161
+ record: {
162
+ align: 'center',
163
+ mandatory: false,
164
+ editable: true
165
+ }
166
+ },
167
+ {
168
+ type: 'string',
169
+ name: 'value',
170
+ header: TermsUtil.tLabel('default_value'),
171
+ sortable: false,
172
+ width: 750,
173
+ record: {
174
+ align: 'left',
175
+ editable: true,
176
+ mandatory: false
177
+ }
185
178
  }
186
- }
187
- ]
179
+ ]
180
+ }
188
181
  }
189
182
  }
190
- }