ninegrid2 6.245.0 → 6.246.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 +21 -55
- package/dist/bundle.esm.js +21 -55
- package/dist/etc/ngFiltering.js +21 -55
- package/package.json +1 -1
- package/src/etc/ngFiltering.js +21 -55
package/dist/bundle.cjs.js
CHANGED
|
@@ -18053,26 +18053,6 @@ class ngFilterPanel extends HTMLElement
|
|
|
18053
18053
|
this.classList.add("loading");
|
|
18054
18054
|
|
|
18055
18055
|
setTimeout(() => {
|
|
18056
|
-
|
|
18057
|
-
/**
|
|
18058
|
-
const LVL_IDX = grd.fields.indexOf("LVL");
|
|
18059
|
-
const CHK_IDX = grd.fields.indexOf("CHK");
|
|
18060
|
-
const COLNM_IDX = grd.fields.indexOf("COLNM");
|
|
18061
|
-
const DATA_IDX = grd.fields.indexOf("DATA");
|
|
18062
|
-
|
|
18063
|
-
const checked = grd.data.getValidDataNF().filter(m => { return m.v[LVL_IDX] == 2 && m.v[CHK_IDX] == "Y"; });
|
|
18064
|
-
//const unchecked = grd.data.getValidDataNF().filter(m => { return m.v[LVL_IDX] == 2 && m.v[CHK_IDX] != "Y"; });
|
|
18065
|
-
|
|
18066
|
-
var filterOptions = [];
|
|
18067
|
-
if (checked.length > 0) {
|
|
18068
|
-
|
|
18069
|
-
[...new Set(checked.map(m => { return m.v[COLNM_IDX] }))].forEach(v => {
|
|
18070
|
-
filterOptions.push({
|
|
18071
|
-
colnm : v,
|
|
18072
|
-
data : [...new Set(grd.data.getValidData().filter(m => { return m.v[CHK_IDX] == "Y" && m.v[COLNM_IDX] == v; }).map(m => { return m.v[DATA_IDX] || ''; }))].sort((a,b) => { return a > b ? 1 : -1; }),
|
|
18073
|
-
});
|
|
18074
|
-
});
|
|
18075
|
-
} */
|
|
18076
18056
|
const [LVL_IDX, CHK_IDX, COLNM_IDX, DATA_IDX] = ["LVL", "CHK", "COLNM", "DATA"].map(k => grd.fields.indexOf(k));
|
|
18077
18057
|
const checked = grd.data.getValidDataNF().filter(m => m.v[LVL_IDX] === 2 && m.v[CHK_IDX] === "Y");
|
|
18078
18058
|
const filterOptions = checked.length > 0 ? [...new Set(checked.map(m => m.v[COLNM_IDX]))].map(v => ({
|
|
@@ -18082,18 +18062,6 @@ class ngFilterPanel extends HTMLElement
|
|
|
18082
18062
|
|
|
18083
18063
|
|
|
18084
18064
|
this.#button.filterOptions = filterOptions;
|
|
18085
|
-
|
|
18086
|
-
/**
|
|
18087
|
-
var oParam = {};
|
|
18088
|
-
|
|
18089
|
-
this.#owner.body.querySelectorAll("ng-filter-button").forEach(el => {
|
|
18090
|
-
|
|
18091
|
-
//if (!el.filterOptions) return true;
|
|
18092
|
-
|
|
18093
|
-
el.filterOptions.forEach(filterOptions => {
|
|
18094
|
-
if (filterOptions.data.length > 0) oParam[filterOptions.colnm] = filterOptions.data;
|
|
18095
|
-
});
|
|
18096
|
-
}); */
|
|
18097
18065
|
|
|
18098
18066
|
const oParam = Object.fromEntries(
|
|
18099
18067
|
[...this.#owner.body.querySelectorAll("ng-filter-button")]
|
|
@@ -18103,60 +18071,58 @@ class ngFilterPanel extends HTMLElement
|
|
|
18103
18071
|
);
|
|
18104
18072
|
|
|
18105
18073
|
this.#owner.filtering.set(oParam);
|
|
18074
|
+
|
|
18106
18075
|
this.classList.remove("loading");
|
|
18076
|
+
this.style.display = 'none';
|
|
18107
18077
|
});
|
|
18108
|
-
|
|
18109
|
-
//$(this).hide();
|
|
18110
|
-
this.style.display = 'none';
|
|
18111
18078
|
};
|
|
18112
18079
|
|
|
18113
18080
|
|
|
18114
18081
|
|
|
18115
18082
|
#onCancel = (e) => {
|
|
18116
|
-
//$(this).hide();
|
|
18117
18083
|
this.style.display = 'none';
|
|
18118
18084
|
};
|
|
18119
18085
|
|
|
18120
18086
|
#onSelectAll = (e) => {
|
|
18121
|
-
|
|
18122
|
-
|
|
18087
|
+
const grd = this.shadowRoot.querySelector("nine-grid");
|
|
18088
|
+
const idx = grd.fields.indexOf("CHK");
|
|
18089
|
+
const isChecked = e.target.checked; // ✅ jQuery 없이 `checked` 값 가져오기
|
|
18090
|
+
|
|
18091
|
+
grd.data.getValidData().forEach(m => {
|
|
18092
|
+
m.v[idx] = isChecked ? "Y" : "N"; // ✅ `Y` 또는 `N` 값 설정
|
|
18093
|
+
});
|
|
18123
18094
|
|
|
18124
|
-
grd.data.getValidData().map(m => { m.v[idx] = $(e.target).prop("checked") ? "Y" : "N"; });
|
|
18125
|
-
|
|
18126
18095
|
grd.refreshData();
|
|
18127
18096
|
};
|
|
18097
|
+
|
|
18128
18098
|
|
|
18129
18099
|
|
|
18130
18100
|
#onInput = (e) => {
|
|
18131
|
-
|
|
18132
|
-
|
|
18101
|
+
const grd = this.shadowRoot.querySelector("nine-grid");
|
|
18133
18102
|
|
|
18134
|
-
|
|
18135
|
-
|
|
18103
|
+
grd.classList.add("loading");
|
|
18136
18104
|
|
|
18137
|
-
|
|
18105
|
+
const data = grd.dataManager.rawRecords;
|
|
18106
|
+
data.forEach(m => { m.__ng.filtered = false; });
|
|
18138
18107
|
|
|
18139
|
-
|
|
18108
|
+
const v = e.target.value.toLowerCase(); // ✅ jQuery 없이 값 가져오기
|
|
18109
|
+
const [LVL_IDX, DATA_IDX] = ["LVL", "DATA"].map(field => grd.fields.indexOf(field));
|
|
18140
18110
|
|
|
18141
|
-
|
|
18142
|
-
|
|
18143
|
-
|
|
18111
|
+
data.forEach(m => {
|
|
18112
|
+
m.__ng.filtered = m.v[LVL_IDX] === 2 && !String(m.v[DATA_IDX] || "").toLowerCase().includes(v);
|
|
18113
|
+
});
|
|
18144
18114
|
|
|
18145
|
-
const LVL_IDX = grd.fields.indexOf("LVL");
|
|
18146
|
-
const DATA_IDX = grd.fields.indexOf("DATA");
|
|
18147
|
-
|
|
18148
|
-
data.filter(m => { return m.v[LVL_IDX] == 2 && String(m.v[DATA_IDX] || '').toLowerCase().indexOf(v) < 0; }).map(m => { m.__ng.filtered = true; });
|
|
18149
|
-
|
|
18150
18115
|
grd.data.resetRecords();
|
|
18151
18116
|
|
|
18152
18117
|
if (this.#timer) {
|
|
18118
|
+
console.log("-------------", this.#timer);
|
|
18153
18119
|
clearTimeout(this.#timer);
|
|
18120
|
+
console.log("===============", this.#timer);
|
|
18154
18121
|
this.#timer = null;
|
|
18155
18122
|
}
|
|
18156
18123
|
this.#timer = setTimeout(() => {
|
|
18157
18124
|
grd.dataManager.viewRecords.reset();
|
|
18158
18125
|
grd.dataManager.viewRecords.touch();
|
|
18159
|
-
//ninegrid.j.querySelectorAll(grd).removeClass("loading");
|
|
18160
18126
|
}, 200);
|
|
18161
18127
|
};
|
|
18162
18128
|
|
package/dist/bundle.esm.js
CHANGED
|
@@ -18051,26 +18051,6 @@ class ngFilterPanel extends HTMLElement
|
|
|
18051
18051
|
this.classList.add("loading");
|
|
18052
18052
|
|
|
18053
18053
|
setTimeout(() => {
|
|
18054
|
-
|
|
18055
|
-
/**
|
|
18056
|
-
const LVL_IDX = grd.fields.indexOf("LVL");
|
|
18057
|
-
const CHK_IDX = grd.fields.indexOf("CHK");
|
|
18058
|
-
const COLNM_IDX = grd.fields.indexOf("COLNM");
|
|
18059
|
-
const DATA_IDX = grd.fields.indexOf("DATA");
|
|
18060
|
-
|
|
18061
|
-
const checked = grd.data.getValidDataNF().filter(m => { return m.v[LVL_IDX] == 2 && m.v[CHK_IDX] == "Y"; });
|
|
18062
|
-
//const unchecked = grd.data.getValidDataNF().filter(m => { return m.v[LVL_IDX] == 2 && m.v[CHK_IDX] != "Y"; });
|
|
18063
|
-
|
|
18064
|
-
var filterOptions = [];
|
|
18065
|
-
if (checked.length > 0) {
|
|
18066
|
-
|
|
18067
|
-
[...new Set(checked.map(m => { return m.v[COLNM_IDX] }))].forEach(v => {
|
|
18068
|
-
filterOptions.push({
|
|
18069
|
-
colnm : v,
|
|
18070
|
-
data : [...new Set(grd.data.getValidData().filter(m => { return m.v[CHK_IDX] == "Y" && m.v[COLNM_IDX] == v; }).map(m => { return m.v[DATA_IDX] || ''; }))].sort((a,b) => { return a > b ? 1 : -1; }),
|
|
18071
|
-
});
|
|
18072
|
-
});
|
|
18073
|
-
} */
|
|
18074
18054
|
const [LVL_IDX, CHK_IDX, COLNM_IDX, DATA_IDX] = ["LVL", "CHK", "COLNM", "DATA"].map(k => grd.fields.indexOf(k));
|
|
18075
18055
|
const checked = grd.data.getValidDataNF().filter(m => m.v[LVL_IDX] === 2 && m.v[CHK_IDX] === "Y");
|
|
18076
18056
|
const filterOptions = checked.length > 0 ? [...new Set(checked.map(m => m.v[COLNM_IDX]))].map(v => ({
|
|
@@ -18080,18 +18060,6 @@ class ngFilterPanel extends HTMLElement
|
|
|
18080
18060
|
|
|
18081
18061
|
|
|
18082
18062
|
this.#button.filterOptions = filterOptions;
|
|
18083
|
-
|
|
18084
|
-
/**
|
|
18085
|
-
var oParam = {};
|
|
18086
|
-
|
|
18087
|
-
this.#owner.body.querySelectorAll("ng-filter-button").forEach(el => {
|
|
18088
|
-
|
|
18089
|
-
//if (!el.filterOptions) return true;
|
|
18090
|
-
|
|
18091
|
-
el.filterOptions.forEach(filterOptions => {
|
|
18092
|
-
if (filterOptions.data.length > 0) oParam[filterOptions.colnm] = filterOptions.data;
|
|
18093
|
-
});
|
|
18094
|
-
}); */
|
|
18095
18063
|
|
|
18096
18064
|
const oParam = Object.fromEntries(
|
|
18097
18065
|
[...this.#owner.body.querySelectorAll("ng-filter-button")]
|
|
@@ -18101,60 +18069,58 @@ class ngFilterPanel extends HTMLElement
|
|
|
18101
18069
|
);
|
|
18102
18070
|
|
|
18103
18071
|
this.#owner.filtering.set(oParam);
|
|
18072
|
+
|
|
18104
18073
|
this.classList.remove("loading");
|
|
18074
|
+
this.style.display = 'none';
|
|
18105
18075
|
});
|
|
18106
|
-
|
|
18107
|
-
//$(this).hide();
|
|
18108
|
-
this.style.display = 'none';
|
|
18109
18076
|
};
|
|
18110
18077
|
|
|
18111
18078
|
|
|
18112
18079
|
|
|
18113
18080
|
#onCancel = (e) => {
|
|
18114
|
-
//$(this).hide();
|
|
18115
18081
|
this.style.display = 'none';
|
|
18116
18082
|
};
|
|
18117
18083
|
|
|
18118
18084
|
#onSelectAll = (e) => {
|
|
18119
|
-
|
|
18120
|
-
|
|
18085
|
+
const grd = this.shadowRoot.querySelector("nine-grid");
|
|
18086
|
+
const idx = grd.fields.indexOf("CHK");
|
|
18087
|
+
const isChecked = e.target.checked; // ✅ jQuery 없이 `checked` 값 가져오기
|
|
18088
|
+
|
|
18089
|
+
grd.data.getValidData().forEach(m => {
|
|
18090
|
+
m.v[idx] = isChecked ? "Y" : "N"; // ✅ `Y` 또는 `N` 값 설정
|
|
18091
|
+
});
|
|
18121
18092
|
|
|
18122
|
-
grd.data.getValidData().map(m => { m.v[idx] = $(e.target).prop("checked") ? "Y" : "N"; });
|
|
18123
|
-
|
|
18124
18093
|
grd.refreshData();
|
|
18125
18094
|
};
|
|
18095
|
+
|
|
18126
18096
|
|
|
18127
18097
|
|
|
18128
18098
|
#onInput = (e) => {
|
|
18129
|
-
|
|
18130
|
-
|
|
18099
|
+
const grd = this.shadowRoot.querySelector("nine-grid");
|
|
18131
18100
|
|
|
18132
|
-
|
|
18133
|
-
|
|
18101
|
+
grd.classList.add("loading");
|
|
18134
18102
|
|
|
18135
|
-
|
|
18103
|
+
const data = grd.dataManager.rawRecords;
|
|
18104
|
+
data.forEach(m => { m.__ng.filtered = false; });
|
|
18136
18105
|
|
|
18137
|
-
|
|
18106
|
+
const v = e.target.value.toLowerCase(); // ✅ jQuery 없이 값 가져오기
|
|
18107
|
+
const [LVL_IDX, DATA_IDX] = ["LVL", "DATA"].map(field => grd.fields.indexOf(field));
|
|
18138
18108
|
|
|
18139
|
-
|
|
18140
|
-
|
|
18141
|
-
|
|
18109
|
+
data.forEach(m => {
|
|
18110
|
+
m.__ng.filtered = m.v[LVL_IDX] === 2 && !String(m.v[DATA_IDX] || "").toLowerCase().includes(v);
|
|
18111
|
+
});
|
|
18142
18112
|
|
|
18143
|
-
const LVL_IDX = grd.fields.indexOf("LVL");
|
|
18144
|
-
const DATA_IDX = grd.fields.indexOf("DATA");
|
|
18145
|
-
|
|
18146
|
-
data.filter(m => { return m.v[LVL_IDX] == 2 && String(m.v[DATA_IDX] || '').toLowerCase().indexOf(v) < 0; }).map(m => { m.__ng.filtered = true; });
|
|
18147
|
-
|
|
18148
18113
|
grd.data.resetRecords();
|
|
18149
18114
|
|
|
18150
18115
|
if (this.#timer) {
|
|
18116
|
+
console.log("-------------", this.#timer);
|
|
18151
18117
|
clearTimeout(this.#timer);
|
|
18118
|
+
console.log("===============", this.#timer);
|
|
18152
18119
|
this.#timer = null;
|
|
18153
18120
|
}
|
|
18154
18121
|
this.#timer = setTimeout(() => {
|
|
18155
18122
|
grd.dataManager.viewRecords.reset();
|
|
18156
18123
|
grd.dataManager.viewRecords.touch();
|
|
18157
|
-
//ninegrid.j.querySelectorAll(grd).removeClass("loading");
|
|
18158
18124
|
}, 200);
|
|
18159
18125
|
};
|
|
18160
18126
|
|
package/dist/etc/ngFiltering.js
CHANGED
|
@@ -230,26 +230,6 @@ class ngFilterPanel extends HTMLElement
|
|
|
230
230
|
this.classList.add("loading");
|
|
231
231
|
|
|
232
232
|
setTimeout(() => {
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
const LVL_IDX = grd.fields.indexOf("LVL");
|
|
236
|
-
const CHK_IDX = grd.fields.indexOf("CHK");
|
|
237
|
-
const COLNM_IDX = grd.fields.indexOf("COLNM");
|
|
238
|
-
const DATA_IDX = grd.fields.indexOf("DATA");
|
|
239
|
-
|
|
240
|
-
const checked = grd.data.getValidDataNF().filter(m => { return m.v[LVL_IDX] == 2 && m.v[CHK_IDX] == "Y"; });
|
|
241
|
-
//const unchecked = grd.data.getValidDataNF().filter(m => { return m.v[LVL_IDX] == 2 && m.v[CHK_IDX] != "Y"; });
|
|
242
|
-
|
|
243
|
-
var filterOptions = [];
|
|
244
|
-
if (checked.length > 0) {
|
|
245
|
-
|
|
246
|
-
[...new Set(checked.map(m => { return m.v[COLNM_IDX] }))].forEach(v => {
|
|
247
|
-
filterOptions.push({
|
|
248
|
-
colnm : v,
|
|
249
|
-
data : [...new Set(grd.data.getValidData().filter(m => { return m.v[CHK_IDX] == "Y" && m.v[COLNM_IDX] == v; }).map(m => { return m.v[DATA_IDX] || ''; }))].sort((a,b) => { return a > b ? 1 : -1; }),
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
} */
|
|
253
233
|
const [LVL_IDX, CHK_IDX, COLNM_IDX, DATA_IDX] = ["LVL", "CHK", "COLNM", "DATA"].map(k => grd.fields.indexOf(k));
|
|
254
234
|
const checked = grd.data.getValidDataNF().filter(m => m.v[LVL_IDX] === 2 && m.v[CHK_IDX] === "Y");
|
|
255
235
|
const filterOptions = checked.length > 0 ? [...new Set(checked.map(m => m.v[COLNM_IDX]))].map(v => ({
|
|
@@ -259,18 +239,6 @@ class ngFilterPanel extends HTMLElement
|
|
|
259
239
|
|
|
260
240
|
|
|
261
241
|
this.#button.filterOptions = filterOptions;
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
var oParam = {};
|
|
265
|
-
|
|
266
|
-
this.#owner.body.querySelectorAll("ng-filter-button").forEach(el => {
|
|
267
|
-
|
|
268
|
-
//if (!el.filterOptions) return true;
|
|
269
|
-
|
|
270
|
-
el.filterOptions.forEach(filterOptions => {
|
|
271
|
-
if (filterOptions.data.length > 0) oParam[filterOptions.colnm] = filterOptions.data;
|
|
272
|
-
});
|
|
273
|
-
}); */
|
|
274
242
|
|
|
275
243
|
const oParam = Object.fromEntries(
|
|
276
244
|
[...this.#owner.body.querySelectorAll("ng-filter-button")]
|
|
@@ -280,60 +248,58 @@ class ngFilterPanel extends HTMLElement
|
|
|
280
248
|
);
|
|
281
249
|
|
|
282
250
|
this.#owner.filtering.set(oParam);
|
|
251
|
+
|
|
283
252
|
this.classList.remove("loading");
|
|
253
|
+
this.style.display = 'none';
|
|
284
254
|
});
|
|
285
|
-
|
|
286
|
-
//$(this).hide();
|
|
287
|
-
this.style.display = 'none';
|
|
288
255
|
};
|
|
289
256
|
|
|
290
257
|
|
|
291
258
|
|
|
292
259
|
#onCancel = (e) => {
|
|
293
|
-
//$(this).hide();
|
|
294
260
|
this.style.display = 'none';
|
|
295
261
|
};
|
|
296
262
|
|
|
297
263
|
#onSelectAll = (e) => {
|
|
298
|
-
|
|
299
|
-
|
|
264
|
+
const grd = this.shadowRoot.querySelector("nine-grid");
|
|
265
|
+
const idx = grd.fields.indexOf("CHK");
|
|
266
|
+
const isChecked = e.target.checked; // ✅ jQuery 없이 `checked` 값 가져오기
|
|
267
|
+
|
|
268
|
+
grd.data.getValidData().forEach(m => {
|
|
269
|
+
m.v[idx] = isChecked ? "Y" : "N"; // ✅ `Y` 또는 `N` 값 설정
|
|
270
|
+
});
|
|
300
271
|
|
|
301
|
-
grd.data.getValidData().map(m => { m.v[idx] = $(e.target).prop("checked") ? "Y" : "N"; });
|
|
302
|
-
|
|
303
272
|
grd.refreshData();
|
|
304
273
|
};
|
|
274
|
+
|
|
305
275
|
|
|
306
276
|
|
|
307
277
|
#onInput = (e) => {
|
|
308
|
-
|
|
309
|
-
|
|
278
|
+
const grd = this.shadowRoot.querySelector("nine-grid");
|
|
310
279
|
|
|
311
|
-
|
|
312
|
-
|
|
280
|
+
grd.classList.add("loading");
|
|
313
281
|
|
|
314
|
-
|
|
282
|
+
const data = grd.dataManager.rawRecords;
|
|
283
|
+
data.forEach(m => { m.__ng.filtered = false; });
|
|
315
284
|
|
|
316
|
-
|
|
285
|
+
const v = e.target.value.toLowerCase(); // ✅ jQuery 없이 값 가져오기
|
|
286
|
+
const [LVL_IDX, DATA_IDX] = ["LVL", "DATA"].map(field => grd.fields.indexOf(field));
|
|
317
287
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
288
|
+
data.forEach(m => {
|
|
289
|
+
m.__ng.filtered = m.v[LVL_IDX] === 2 && !String(m.v[DATA_IDX] || "").toLowerCase().includes(v);
|
|
290
|
+
});
|
|
321
291
|
|
|
322
|
-
const LVL_IDX = grd.fields.indexOf("LVL");
|
|
323
|
-
const DATA_IDX = grd.fields.indexOf("DATA");
|
|
324
|
-
|
|
325
|
-
data.filter(m => { return m.v[LVL_IDX] == 2 && String(m.v[DATA_IDX] || '').toLowerCase().indexOf(v) < 0; }).map(m => { m.__ng.filtered = true; });
|
|
326
|
-
|
|
327
292
|
grd.data.resetRecords();
|
|
328
293
|
|
|
329
294
|
if (this.#timer) {
|
|
295
|
+
console.log("-------------", this.#timer);
|
|
330
296
|
clearTimeout(this.#timer);
|
|
297
|
+
console.log("===============", this.#timer);
|
|
331
298
|
this.#timer = null;
|
|
332
299
|
}
|
|
333
300
|
this.#timer = setTimeout(() => {
|
|
334
301
|
grd.dataManager.viewRecords.reset();
|
|
335
302
|
grd.dataManager.viewRecords.touch();
|
|
336
|
-
//ninegrid.j.querySelectorAll(grd).removeClass("loading");
|
|
337
303
|
}, 200)
|
|
338
304
|
};
|
|
339
305
|
|
package/package.json
CHANGED
package/src/etc/ngFiltering.js
CHANGED
|
@@ -230,26 +230,6 @@ class ngFilterPanel extends HTMLElement
|
|
|
230
230
|
this.classList.add("loading");
|
|
231
231
|
|
|
232
232
|
setTimeout(() => {
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
const LVL_IDX = grd.fields.indexOf("LVL");
|
|
236
|
-
const CHK_IDX = grd.fields.indexOf("CHK");
|
|
237
|
-
const COLNM_IDX = grd.fields.indexOf("COLNM");
|
|
238
|
-
const DATA_IDX = grd.fields.indexOf("DATA");
|
|
239
|
-
|
|
240
|
-
const checked = grd.data.getValidDataNF().filter(m => { return m.v[LVL_IDX] == 2 && m.v[CHK_IDX] == "Y"; });
|
|
241
|
-
//const unchecked = grd.data.getValidDataNF().filter(m => { return m.v[LVL_IDX] == 2 && m.v[CHK_IDX] != "Y"; });
|
|
242
|
-
|
|
243
|
-
var filterOptions = [];
|
|
244
|
-
if (checked.length > 0) {
|
|
245
|
-
|
|
246
|
-
[...new Set(checked.map(m => { return m.v[COLNM_IDX] }))].forEach(v => {
|
|
247
|
-
filterOptions.push({
|
|
248
|
-
colnm : v,
|
|
249
|
-
data : [...new Set(grd.data.getValidData().filter(m => { return m.v[CHK_IDX] == "Y" && m.v[COLNM_IDX] == v; }).map(m => { return m.v[DATA_IDX] || ''; }))].sort((a,b) => { return a > b ? 1 : -1; }),
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
} */
|
|
253
233
|
const [LVL_IDX, CHK_IDX, COLNM_IDX, DATA_IDX] = ["LVL", "CHK", "COLNM", "DATA"].map(k => grd.fields.indexOf(k));
|
|
254
234
|
const checked = grd.data.getValidDataNF().filter(m => m.v[LVL_IDX] === 2 && m.v[CHK_IDX] === "Y");
|
|
255
235
|
const filterOptions = checked.length > 0 ? [...new Set(checked.map(m => m.v[COLNM_IDX]))].map(v => ({
|
|
@@ -259,18 +239,6 @@ class ngFilterPanel extends HTMLElement
|
|
|
259
239
|
|
|
260
240
|
|
|
261
241
|
this.#button.filterOptions = filterOptions;
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
var oParam = {};
|
|
265
|
-
|
|
266
|
-
this.#owner.body.querySelectorAll("ng-filter-button").forEach(el => {
|
|
267
|
-
|
|
268
|
-
//if (!el.filterOptions) return true;
|
|
269
|
-
|
|
270
|
-
el.filterOptions.forEach(filterOptions => {
|
|
271
|
-
if (filterOptions.data.length > 0) oParam[filterOptions.colnm] = filterOptions.data;
|
|
272
|
-
});
|
|
273
|
-
}); */
|
|
274
242
|
|
|
275
243
|
const oParam = Object.fromEntries(
|
|
276
244
|
[...this.#owner.body.querySelectorAll("ng-filter-button")]
|
|
@@ -280,60 +248,58 @@ class ngFilterPanel extends HTMLElement
|
|
|
280
248
|
);
|
|
281
249
|
|
|
282
250
|
this.#owner.filtering.set(oParam);
|
|
251
|
+
|
|
283
252
|
this.classList.remove("loading");
|
|
253
|
+
this.style.display = 'none';
|
|
284
254
|
});
|
|
285
|
-
|
|
286
|
-
//$(this).hide();
|
|
287
|
-
this.style.display = 'none';
|
|
288
255
|
};
|
|
289
256
|
|
|
290
257
|
|
|
291
258
|
|
|
292
259
|
#onCancel = (e) => {
|
|
293
|
-
//$(this).hide();
|
|
294
260
|
this.style.display = 'none';
|
|
295
261
|
};
|
|
296
262
|
|
|
297
263
|
#onSelectAll = (e) => {
|
|
298
|
-
|
|
299
|
-
|
|
264
|
+
const grd = this.shadowRoot.querySelector("nine-grid");
|
|
265
|
+
const idx = grd.fields.indexOf("CHK");
|
|
266
|
+
const isChecked = e.target.checked; // ✅ jQuery 없이 `checked` 값 가져오기
|
|
267
|
+
|
|
268
|
+
grd.data.getValidData().forEach(m => {
|
|
269
|
+
m.v[idx] = isChecked ? "Y" : "N"; // ✅ `Y` 또는 `N` 값 설정
|
|
270
|
+
});
|
|
300
271
|
|
|
301
|
-
grd.data.getValidData().map(m => { m.v[idx] = $(e.target).prop("checked") ? "Y" : "N"; });
|
|
302
|
-
|
|
303
272
|
grd.refreshData();
|
|
304
273
|
};
|
|
274
|
+
|
|
305
275
|
|
|
306
276
|
|
|
307
277
|
#onInput = (e) => {
|
|
308
|
-
|
|
309
|
-
|
|
278
|
+
const grd = this.shadowRoot.querySelector("nine-grid");
|
|
310
279
|
|
|
311
|
-
|
|
312
|
-
|
|
280
|
+
grd.classList.add("loading");
|
|
313
281
|
|
|
314
|
-
|
|
282
|
+
const data = grd.dataManager.rawRecords;
|
|
283
|
+
data.forEach(m => { m.__ng.filtered = false; });
|
|
315
284
|
|
|
316
|
-
|
|
285
|
+
const v = e.target.value.toLowerCase(); // ✅ jQuery 없이 값 가져오기
|
|
286
|
+
const [LVL_IDX, DATA_IDX] = ["LVL", "DATA"].map(field => grd.fields.indexOf(field));
|
|
317
287
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
288
|
+
data.forEach(m => {
|
|
289
|
+
m.__ng.filtered = m.v[LVL_IDX] === 2 && !String(m.v[DATA_IDX] || "").toLowerCase().includes(v);
|
|
290
|
+
});
|
|
321
291
|
|
|
322
|
-
const LVL_IDX = grd.fields.indexOf("LVL");
|
|
323
|
-
const DATA_IDX = grd.fields.indexOf("DATA");
|
|
324
|
-
|
|
325
|
-
data.filter(m => { return m.v[LVL_IDX] == 2 && String(m.v[DATA_IDX] || '').toLowerCase().indexOf(v) < 0; }).map(m => { m.__ng.filtered = true; });
|
|
326
|
-
|
|
327
292
|
grd.data.resetRecords();
|
|
328
293
|
|
|
329
294
|
if (this.#timer) {
|
|
295
|
+
console.log("-------------", this.#timer);
|
|
330
296
|
clearTimeout(this.#timer);
|
|
297
|
+
console.log("===============", this.#timer);
|
|
331
298
|
this.#timer = null;
|
|
332
299
|
}
|
|
333
300
|
this.#timer = setTimeout(() => {
|
|
334
301
|
grd.dataManager.viewRecords.reset();
|
|
335
302
|
grd.dataManager.viewRecords.touch();
|
|
336
|
-
//ninegrid.j.querySelectorAll(grd).removeClass("loading");
|
|
337
303
|
}, 200)
|
|
338
304
|
};
|
|
339
305
|
|