@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.
@@ -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
- }