ninegrid2 6.234.0 → 6.235.0
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/dist/bundle.cjs.js +20 -51
- package/dist/bundle.esm.js +20 -51
- package/dist/etc/ngFiltering.js +20 -51
- package/package.json +1 -1
- package/src/etc/ngFiltering.js +20 -51
package/dist/bundle.cjs.js
CHANGED
|
@@ -17897,78 +17897,47 @@ class ngFiltering
|
|
|
17897
17897
|
|
|
17898
17898
|
this.on();
|
|
17899
17899
|
|
|
17900
|
-
|
|
17901
|
-
let jsonFilter = {};
|
|
17902
|
-
if (Array.isArray(oFilter)) {
|
|
17903
|
-
for (let key in oFilter[0]) {
|
|
17904
|
-
jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
|
|
17905
|
-
}
|
|
17906
|
-
}
|
|
17907
|
-
else {
|
|
17908
|
-
jsonFilter = oFilter;
|
|
17909
|
-
}
|
|
17910
|
-
*/
|
|
17911
|
-
|
|
17900
|
+
// ✅ JSON 변환 (배열 → 객체)
|
|
17912
17901
|
let jsonFilter = Array.isArray(oFilter)
|
|
17913
17902
|
? Object.fromEntries(Object.keys(oFilter[0]).map(key => [key, [...new Set(oFilter.map(item => item[key]))]]))
|
|
17914
17903
|
: oFilter;
|
|
17915
17904
|
|
|
17916
|
-
console.log(oFilter, jsonFilter);
|
|
17905
|
+
//console.log(oFilter, jsonFilter);
|
|
17917
17906
|
|
|
17918
17907
|
this.#owner.data.clearFilter();
|
|
17919
17908
|
|
|
17920
|
-
|
|
17921
|
-
const arr = jsonFilter[key];
|
|
17909
|
+
Object.entries(jsonFilter).forEach(([key, arr]) => {
|
|
17922
17910
|
const idx = this.#owner.fields.indexOf(key);
|
|
17923
|
-
|
|
17924
|
-
|
|
17925
|
-
|
|
17926
|
-
|
|
17927
|
-
|
|
17928
|
-
isNum = (typeof o.v[idx] === "number") ? true : false;
|
|
17929
|
-
|
|
17930
|
-
break;
|
|
17931
|
-
}
|
|
17932
|
-
|
|
17933
|
-
if (isNum) {
|
|
17934
|
-
for (var i = 0; i < arr.length; i++) {
|
|
17935
|
-
arr[i] = Number(arr[i]);
|
|
17936
|
-
}
|
|
17911
|
+
|
|
17912
|
+
// ✅ 숫자 판별 및 변환
|
|
17913
|
+
if (this.#owner.data.getValidData().some(o => typeof o.v[idx] === "number")) {
|
|
17914
|
+
arr = arr.map(Number);
|
|
17937
17915
|
}
|
|
17938
|
-
|
|
17939
|
-
|
|
17940
|
-
|
|
17916
|
+
|
|
17917
|
+
// ✅ 필터 적용
|
|
17918
|
+
this.#owner.data.getValidData()
|
|
17919
|
+
.filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
|
|
17920
|
+
.forEach(m => { m.__ng.filtered = true; });
|
|
17921
|
+
});
|
|
17941
17922
|
|
|
17942
17923
|
|
|
17943
17924
|
this.#owner.data.refreshFilter();
|
|
17944
17925
|
|
|
17926
|
+
// ✅ 필터 버튼 초기화
|
|
17945
17927
|
this.#owner.shadowRoot.querySelectorAll("ng-filter-button").forEach(el => {
|
|
17946
|
-
|
|
17947
|
-
|
|
17948
|
-
options.forEach(opt => {
|
|
17949
|
-
opt.data = [];
|
|
17950
|
-
});
|
|
17951
|
-
|
|
17952
|
-
el.filterOptions = options;
|
|
17928
|
+
el.filterOptions.forEach(opt => { opt.data = []; });
|
|
17953
17929
|
});
|
|
17954
17930
|
|
|
17955
|
-
|
|
17931
|
+
// ✅ 필터 데이터 적용
|
|
17932
|
+
Object.entries(jsonFilter).forEach(([key, arr]) => {
|
|
17956
17933
|
this.#owner.shadowRoot.querySelectorAll("ng-filter-button").forEach(el => {
|
|
17957
|
-
|
|
17958
|
-
|
|
17959
|
-
options.forEach(opt => {
|
|
17960
|
-
if (opt.colnm === key) {
|
|
17961
|
-
opt.data = jsonFilter[key];
|
|
17962
|
-
}
|
|
17934
|
+
el.filterOptions.forEach(opt => {
|
|
17935
|
+
if (opt.colnm === key) opt.data = arr;
|
|
17963
17936
|
});
|
|
17964
|
-
|
|
17965
|
-
el.filterOptions = options;
|
|
17966
17937
|
});
|
|
17967
|
-
}
|
|
17968
|
-
|
|
17938
|
+
});
|
|
17969
17939
|
|
|
17970
17940
|
this.#owner.scrollTo_V1(0);
|
|
17971
|
-
|
|
17972
17941
|
this.#owner.paging.reset();
|
|
17973
17942
|
};
|
|
17974
17943
|
|
package/dist/bundle.esm.js
CHANGED
|
@@ -17895,78 +17895,47 @@ class ngFiltering
|
|
|
17895
17895
|
|
|
17896
17896
|
this.on();
|
|
17897
17897
|
|
|
17898
|
-
|
|
17899
|
-
let jsonFilter = {};
|
|
17900
|
-
if (Array.isArray(oFilter)) {
|
|
17901
|
-
for (let key in oFilter[0]) {
|
|
17902
|
-
jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
|
|
17903
|
-
}
|
|
17904
|
-
}
|
|
17905
|
-
else {
|
|
17906
|
-
jsonFilter = oFilter;
|
|
17907
|
-
}
|
|
17908
|
-
*/
|
|
17909
|
-
|
|
17898
|
+
// ✅ JSON 변환 (배열 → 객체)
|
|
17910
17899
|
let jsonFilter = Array.isArray(oFilter)
|
|
17911
17900
|
? Object.fromEntries(Object.keys(oFilter[0]).map(key => [key, [...new Set(oFilter.map(item => item[key]))]]))
|
|
17912
17901
|
: oFilter;
|
|
17913
17902
|
|
|
17914
|
-
console.log(oFilter, jsonFilter);
|
|
17903
|
+
//console.log(oFilter, jsonFilter);
|
|
17915
17904
|
|
|
17916
17905
|
this.#owner.data.clearFilter();
|
|
17917
17906
|
|
|
17918
|
-
|
|
17919
|
-
const arr = jsonFilter[key];
|
|
17907
|
+
Object.entries(jsonFilter).forEach(([key, arr]) => {
|
|
17920
17908
|
const idx = this.#owner.fields.indexOf(key);
|
|
17921
|
-
|
|
17922
|
-
|
|
17923
|
-
|
|
17924
|
-
|
|
17925
|
-
|
|
17926
|
-
isNum = (typeof o.v[idx] === "number") ? true : false;
|
|
17927
|
-
|
|
17928
|
-
break;
|
|
17929
|
-
}
|
|
17930
|
-
|
|
17931
|
-
if (isNum) {
|
|
17932
|
-
for (var i = 0; i < arr.length; i++) {
|
|
17933
|
-
arr[i] = Number(arr[i]);
|
|
17934
|
-
}
|
|
17909
|
+
|
|
17910
|
+
// ✅ 숫자 판별 및 변환
|
|
17911
|
+
if (this.#owner.data.getValidData().some(o => typeof o.v[idx] === "number")) {
|
|
17912
|
+
arr = arr.map(Number);
|
|
17935
17913
|
}
|
|
17936
|
-
|
|
17937
|
-
|
|
17938
|
-
|
|
17914
|
+
|
|
17915
|
+
// ✅ 필터 적용
|
|
17916
|
+
this.#owner.data.getValidData()
|
|
17917
|
+
.filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
|
|
17918
|
+
.forEach(m => { m.__ng.filtered = true; });
|
|
17919
|
+
});
|
|
17939
17920
|
|
|
17940
17921
|
|
|
17941
17922
|
this.#owner.data.refreshFilter();
|
|
17942
17923
|
|
|
17924
|
+
// ✅ 필터 버튼 초기화
|
|
17943
17925
|
this.#owner.shadowRoot.querySelectorAll("ng-filter-button").forEach(el => {
|
|
17944
|
-
|
|
17945
|
-
|
|
17946
|
-
options.forEach(opt => {
|
|
17947
|
-
opt.data = [];
|
|
17948
|
-
});
|
|
17949
|
-
|
|
17950
|
-
el.filterOptions = options;
|
|
17926
|
+
el.filterOptions.forEach(opt => { opt.data = []; });
|
|
17951
17927
|
});
|
|
17952
17928
|
|
|
17953
|
-
|
|
17929
|
+
// ✅ 필터 데이터 적용
|
|
17930
|
+
Object.entries(jsonFilter).forEach(([key, arr]) => {
|
|
17954
17931
|
this.#owner.shadowRoot.querySelectorAll("ng-filter-button").forEach(el => {
|
|
17955
|
-
|
|
17956
|
-
|
|
17957
|
-
options.forEach(opt => {
|
|
17958
|
-
if (opt.colnm === key) {
|
|
17959
|
-
opt.data = jsonFilter[key];
|
|
17960
|
-
}
|
|
17932
|
+
el.filterOptions.forEach(opt => {
|
|
17933
|
+
if (opt.colnm === key) opt.data = arr;
|
|
17961
17934
|
});
|
|
17962
|
-
|
|
17963
|
-
el.filterOptions = options;
|
|
17964
17935
|
});
|
|
17965
|
-
}
|
|
17966
|
-
|
|
17936
|
+
});
|
|
17967
17937
|
|
|
17968
17938
|
this.#owner.scrollTo_V1(0);
|
|
17969
|
-
|
|
17970
17939
|
this.#owner.paging.reset();
|
|
17971
17940
|
};
|
|
17972
17941
|
|
package/dist/etc/ngFiltering.js
CHANGED
|
@@ -74,78 +74,47 @@ export class ngFiltering
|
|
|
74
74
|
|
|
75
75
|
this.on();
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
let jsonFilter = {};
|
|
79
|
-
if (Array.isArray(oFilter)) {
|
|
80
|
-
for (let key in oFilter[0]) {
|
|
81
|
-
jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
jsonFilter = oFilter;
|
|
86
|
-
}
|
|
87
|
-
*/
|
|
88
|
-
|
|
77
|
+
// ✅ JSON 변환 (배열 → 객체)
|
|
89
78
|
let jsonFilter = Array.isArray(oFilter)
|
|
90
79
|
? Object.fromEntries(Object.keys(oFilter[0]).map(key => [key, [...new Set(oFilter.map(item => item[key]))]]))
|
|
91
80
|
: oFilter;
|
|
92
81
|
|
|
93
|
-
console.log(oFilter, jsonFilter);
|
|
82
|
+
//console.log(oFilter, jsonFilter);
|
|
94
83
|
|
|
95
84
|
this.#owner.data.clearFilter();
|
|
96
85
|
|
|
97
|
-
|
|
98
|
-
const arr = jsonFilter[key];
|
|
86
|
+
Object.entries(jsonFilter).forEach(([key, arr]) => {
|
|
99
87
|
const idx = this.#owner.fields.indexOf(key);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
isNum = (typeof o.v[idx] === "number") ? true : false;
|
|
106
|
-
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (isNum) {
|
|
111
|
-
for (var i = 0; i < arr.length; i++) {
|
|
112
|
-
arr[i] = Number(arr[i]);
|
|
113
|
-
}
|
|
88
|
+
|
|
89
|
+
// ✅ 숫자 판별 및 변환
|
|
90
|
+
if (this.#owner.data.getValidData().some(o => typeof o.v[idx] === "number")) {
|
|
91
|
+
arr = arr.map(Number);
|
|
114
92
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
93
|
+
|
|
94
|
+
// ✅ 필터 적용
|
|
95
|
+
this.#owner.data.getValidData()
|
|
96
|
+
.filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
|
|
97
|
+
.forEach(m => { m.__ng.filtered = true; });
|
|
98
|
+
});
|
|
118
99
|
|
|
119
100
|
|
|
120
101
|
this.#owner.data.refreshFilter();
|
|
121
102
|
|
|
103
|
+
// ✅ 필터 버튼 초기화
|
|
122
104
|
this.#owner.shadowRoot.querySelectorAll("ng-filter-button").forEach(el => {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
options.forEach(opt => {
|
|
126
|
-
opt.data = [];
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
el.filterOptions = options;
|
|
105
|
+
el.filterOptions.forEach(opt => { opt.data = []; });
|
|
130
106
|
});
|
|
131
107
|
|
|
132
|
-
|
|
108
|
+
// ✅ 필터 데이터 적용
|
|
109
|
+
Object.entries(jsonFilter).forEach(([key, arr]) => {
|
|
133
110
|
this.#owner.shadowRoot.querySelectorAll("ng-filter-button").forEach(el => {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
options.forEach(opt => {
|
|
137
|
-
if (opt.colnm === key) {
|
|
138
|
-
opt.data = jsonFilter[key];
|
|
139
|
-
}
|
|
111
|
+
el.filterOptions.forEach(opt => {
|
|
112
|
+
if (opt.colnm === key) opt.data = arr;
|
|
140
113
|
});
|
|
141
|
-
|
|
142
|
-
el.filterOptions = options;
|
|
143
114
|
});
|
|
144
|
-
}
|
|
145
|
-
|
|
115
|
+
});
|
|
146
116
|
|
|
147
117
|
this.#owner.scrollTo_V1(0);
|
|
148
|
-
|
|
149
118
|
this.#owner.paging.reset();
|
|
150
119
|
};
|
|
151
120
|
|
package/package.json
CHANGED
package/src/etc/ngFiltering.js
CHANGED
|
@@ -74,78 +74,47 @@ export class ngFiltering
|
|
|
74
74
|
|
|
75
75
|
this.on();
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
let jsonFilter = {};
|
|
79
|
-
if (Array.isArray(oFilter)) {
|
|
80
|
-
for (let key in oFilter[0]) {
|
|
81
|
-
jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
jsonFilter = oFilter;
|
|
86
|
-
}
|
|
87
|
-
*/
|
|
88
|
-
|
|
77
|
+
// ✅ JSON 변환 (배열 → 객체)
|
|
89
78
|
let jsonFilter = Array.isArray(oFilter)
|
|
90
79
|
? Object.fromEntries(Object.keys(oFilter[0]).map(key => [key, [...new Set(oFilter.map(item => item[key]))]]))
|
|
91
80
|
: oFilter;
|
|
92
81
|
|
|
93
|
-
console.log(oFilter, jsonFilter);
|
|
82
|
+
//console.log(oFilter, jsonFilter);
|
|
94
83
|
|
|
95
84
|
this.#owner.data.clearFilter();
|
|
96
85
|
|
|
97
|
-
|
|
98
|
-
const arr = jsonFilter[key];
|
|
86
|
+
Object.entries(jsonFilter).forEach(([key, arr]) => {
|
|
99
87
|
const idx = this.#owner.fields.indexOf(key);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
isNum = (typeof o.v[idx] === "number") ? true : false;
|
|
106
|
-
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (isNum) {
|
|
111
|
-
for (var i = 0; i < arr.length; i++) {
|
|
112
|
-
arr[i] = Number(arr[i]);
|
|
113
|
-
}
|
|
88
|
+
|
|
89
|
+
// ✅ 숫자 판별 및 변환
|
|
90
|
+
if (this.#owner.data.getValidData().some(o => typeof o.v[idx] === "number")) {
|
|
91
|
+
arr = arr.map(Number);
|
|
114
92
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
93
|
+
|
|
94
|
+
// ✅ 필터 적용
|
|
95
|
+
this.#owner.data.getValidData()
|
|
96
|
+
.filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
|
|
97
|
+
.forEach(m => { m.__ng.filtered = true; });
|
|
98
|
+
});
|
|
118
99
|
|
|
119
100
|
|
|
120
101
|
this.#owner.data.refreshFilter();
|
|
121
102
|
|
|
103
|
+
// ✅ 필터 버튼 초기화
|
|
122
104
|
this.#owner.shadowRoot.querySelectorAll("ng-filter-button").forEach(el => {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
options.forEach(opt => {
|
|
126
|
-
opt.data = [];
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
el.filterOptions = options;
|
|
105
|
+
el.filterOptions.forEach(opt => { opt.data = []; });
|
|
130
106
|
});
|
|
131
107
|
|
|
132
|
-
|
|
108
|
+
// ✅ 필터 데이터 적용
|
|
109
|
+
Object.entries(jsonFilter).forEach(([key, arr]) => {
|
|
133
110
|
this.#owner.shadowRoot.querySelectorAll("ng-filter-button").forEach(el => {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
options.forEach(opt => {
|
|
137
|
-
if (opt.colnm === key) {
|
|
138
|
-
opt.data = jsonFilter[key];
|
|
139
|
-
}
|
|
111
|
+
el.filterOptions.forEach(opt => {
|
|
112
|
+
if (opt.colnm === key) opt.data = arr;
|
|
140
113
|
});
|
|
141
|
-
|
|
142
|
-
el.filterOptions = options;
|
|
143
114
|
});
|
|
144
|
-
}
|
|
145
|
-
|
|
115
|
+
});
|
|
146
116
|
|
|
147
117
|
this.#owner.scrollTo_V1(0);
|
|
148
|
-
|
|
149
118
|
this.#owner.paging.reset();
|
|
150
119
|
};
|
|
151
120
|
|