ninegrid2 6.466.0 → 6.470.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.
@@ -16294,6 +16294,114 @@ class ngData
16294
16294
  return this.#records;
16295
16295
  }
16296
16296
 
16297
+ /**
16298
+ * { "key1": [1,2,...], "key2": [1,2,...], ... }
16299
+ */
16300
+ setFilter = (oFilter) => {
16301
+
16302
+ this.#owner.filtering.on();
16303
+
16304
+
16305
+ let jsonFilter = {};
16306
+ if (Array.isArray(oFilter)) {
16307
+
16308
+ for (let key in oFilter[0]) {
16309
+ console.log(`::::::${key}::::::`);
16310
+ //key = key.trim();
16311
+ //console.log(key);
16312
+ jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
16313
+ }
16314
+ }
16315
+ else {
16316
+ jsonFilter = oFilter;
16317
+ }
16318
+
16319
+ //jsonFilter.doc_id = [2, 18, 20, 28, 36, 45, 46, 48, 56, 64, 73, 81, 83, 90];
16320
+
16321
+ //let filterData = [];
16322
+
16323
+
16324
+ this.clearFilter();
16325
+
16326
+ for (let key in jsonFilter) {
16327
+ const arr = jsonFilter[key];
16328
+ const idx = this.#parent.owner.fields.indexOf(key);
16329
+
16330
+ let isNum = false;
16331
+ for (let o of this.getValidData()) {
16332
+ if (o.v[idx] == null) continue;
16333
+
16334
+ //console.log(o.v[idx], typeof o.v[idx])
16335
+
16336
+ isNum = (typeof o.v[idx] === "number") ? true : false;
16337
+
16338
+ break;
16339
+ }
16340
+
16341
+ if (isNum) {
16342
+ for (var i = 0; i < arr.length; i++) {
16343
+ arr[i] = Number(arr[i]);
16344
+ }
16345
+ }
16346
+
16347
+ /** filtering button 용 데이타 */
16348
+ /**
16349
+ filterData.push({
16350
+ "colnm" : key,
16351
+ "data" : arr,
16352
+ }); */
16353
+ //console.log(arr);
16354
+
16355
+
16356
+ //console.log(arr, idx, arr.nineBinarySearch(m.v[idx]));
16357
+
16358
+ this.getValidData().filter(m => { return arr.nineBinarySearch(m.v[idx] || '') < 0; }).map(m => { m.__ng.filtered = true; });
16359
+
16360
+
16361
+ //break;
16362
+
16363
+
16364
+ }
16365
+
16366
+
16367
+ this.refreshFilter();
16368
+
16369
+ var colnms = [];
16370
+ for (let key in jsonFilter) {
16371
+ colnms.push(key);
16372
+ }
16373
+ //var colnms = filterData.map(item => item.colnm);
16374
+
16375
+ nxUtils.querySelectorAll("ng-filter-button").forEach(v => {
16376
+ v.filterData = null;
16377
+ });
16378
+
16379
+ for (let key in jsonFilter) {
16380
+ const arr = jsonFilter[key];
16381
+ this.#parent.owner.fields.indexOf(key);
16382
+
16383
+ //console.log(filterData);
16384
+ nxUtils.querySelectorAll("ng-filter-button").forEach(v => {
16385
+ //v.filterData = null;
16386
+ //console.log(v);
16387
+ //var b = v.colnms;
16388
+ v.colnms.forEach(colnm => {
16389
+
16390
+ console.log(colnms, colnm);
16391
+ if (colnms.includes(colnm)) {
16392
+ console.log("==================");
16393
+
16394
+ v.filterData = arr;
16395
+ }
16396
+ });
16397
+ });
16398
+ }
16399
+
16400
+
16401
+ this.#parent.owner.scrollTo_V1(0);
16402
+
16403
+ this.#parent.owner.paging.reset();
16404
+ };
16297
16405
 
16298
16406
 
16299
16407
  /**
@@ -23963,12 +24071,11 @@ class ngFiltering
23963
24071
  //console.log(oFilter, jsonFilter);
23964
24072
 
23965
24073
  this.#owner.data.clearFilter();
23966
-
24074
+ this.#owner.data.setFilter(jsonFilter);
24075
+ /**
23967
24076
  Object.entries(jsonFilter).forEach(([key, arr]) => {
23968
24077
 
23969
-
23970
-
23971
- //const idx = this.#owner.fields.indexOf(key);
24078
+ const idx = this.#owner.fields.indexOf(key);
23972
24079
 
23973
24080
  // ✅ 숫자 판별 및 변환
23974
24081
  if (this.#owner.data.getValidData().some(o => typeof o.v[idx] === "number")) {
@@ -23978,18 +24085,11 @@ class ngFiltering
23978
24085
  console.log(key, arr, idx);
23979
24086
 
23980
24087
  // ✅ 필터 적용
23981
- /**
23982
24088
  this.#owner.data.getValidData()
23983
24089
  .filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
23984
24090
  .forEach(m => { m.__ng.filtered = true; });
23985
- */
23986
-
23987
- console.log(this.#owner.data.getValidData(), this.#owner.data.getValidData().filter(m => arr.includes(m.v[idx] || '')));
23988
24091
 
23989
- this.#owner.data.getValidData()
23990
- .filter(m => arr.includes(m.v[idx] || ''))
23991
- .forEach(m => { m.__ng.filtered = true; });
23992
- });
24092
+ }); */
23993
24093
 
23994
24094
 
23995
24095
  this.#owner.data.refreshFilter();
@@ -16292,6 +16292,114 @@ class ngData
16292
16292
  return this.#records;
16293
16293
  }
16294
16294
 
16295
+ /**
16296
+ * { "key1": [1,2,...], "key2": [1,2,...], ... }
16297
+ */
16298
+ setFilter = (oFilter) => {
16299
+
16300
+ this.#owner.filtering.on();
16301
+
16302
+
16303
+ let jsonFilter = {};
16304
+ if (Array.isArray(oFilter)) {
16305
+
16306
+ for (let key in oFilter[0]) {
16307
+ console.log(`::::::${key}::::::`);
16308
+ //key = key.trim();
16309
+ //console.log(key);
16310
+ jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
16311
+ }
16312
+ }
16313
+ else {
16314
+ jsonFilter = oFilter;
16315
+ }
16316
+
16317
+ //jsonFilter.doc_id = [2, 18, 20, 28, 36, 45, 46, 48, 56, 64, 73, 81, 83, 90];
16318
+
16319
+ //let filterData = [];
16320
+
16321
+
16322
+ this.clearFilter();
16323
+
16324
+ for (let key in jsonFilter) {
16325
+ const arr = jsonFilter[key];
16326
+ const idx = this.#parent.owner.fields.indexOf(key);
16327
+
16328
+ let isNum = false;
16329
+ for (let o of this.getValidData()) {
16330
+ if (o.v[idx] == null) continue;
16331
+
16332
+ //console.log(o.v[idx], typeof o.v[idx])
16333
+
16334
+ isNum = (typeof o.v[idx] === "number") ? true : false;
16335
+
16336
+ break;
16337
+ }
16338
+
16339
+ if (isNum) {
16340
+ for (var i = 0; i < arr.length; i++) {
16341
+ arr[i] = Number(arr[i]);
16342
+ }
16343
+ }
16344
+
16345
+ /** filtering button 용 데이타 */
16346
+ /**
16347
+ filterData.push({
16348
+ "colnm" : key,
16349
+ "data" : arr,
16350
+ }); */
16351
+ //console.log(arr);
16352
+
16353
+
16354
+ //console.log(arr, idx, arr.nineBinarySearch(m.v[idx]));
16355
+
16356
+ this.getValidData().filter(m => { return arr.nineBinarySearch(m.v[idx] || '') < 0; }).map(m => { m.__ng.filtered = true; });
16357
+
16358
+
16359
+ //break;
16360
+
16361
+
16362
+ }
16363
+
16364
+
16365
+ this.refreshFilter();
16366
+
16367
+ var colnms = [];
16368
+ for (let key in jsonFilter) {
16369
+ colnms.push(key);
16370
+ }
16371
+ //var colnms = filterData.map(item => item.colnm);
16372
+
16373
+ nxUtils.querySelectorAll("ng-filter-button").forEach(v => {
16374
+ v.filterData = null;
16375
+ });
16376
+
16377
+ for (let key in jsonFilter) {
16378
+ const arr = jsonFilter[key];
16379
+ this.#parent.owner.fields.indexOf(key);
16380
+
16381
+ //console.log(filterData);
16382
+ nxUtils.querySelectorAll("ng-filter-button").forEach(v => {
16383
+ //v.filterData = null;
16384
+ //console.log(v);
16385
+ //var b = v.colnms;
16386
+ v.colnms.forEach(colnm => {
16387
+
16388
+ console.log(colnms, colnm);
16389
+ if (colnms.includes(colnm)) {
16390
+ console.log("==================");
16391
+
16392
+ v.filterData = arr;
16393
+ }
16394
+ });
16395
+ });
16396
+ }
16397
+
16398
+
16399
+ this.#parent.owner.scrollTo_V1(0);
16400
+
16401
+ this.#parent.owner.paging.reset();
16402
+ };
16295
16403
 
16296
16404
 
16297
16405
  /**
@@ -23961,12 +24069,11 @@ class ngFiltering
23961
24069
  //console.log(oFilter, jsonFilter);
23962
24070
 
23963
24071
  this.#owner.data.clearFilter();
23964
-
24072
+ this.#owner.data.setFilter(jsonFilter);
24073
+ /**
23965
24074
  Object.entries(jsonFilter).forEach(([key, arr]) => {
23966
24075
 
23967
-
23968
-
23969
- //const idx = this.#owner.fields.indexOf(key);
24076
+ const idx = this.#owner.fields.indexOf(key);
23970
24077
 
23971
24078
  // ✅ 숫자 판별 및 변환
23972
24079
  if (this.#owner.data.getValidData().some(o => typeof o.v[idx] === "number")) {
@@ -23976,18 +24083,11 @@ class ngFiltering
23976
24083
  console.log(key, arr, idx);
23977
24084
 
23978
24085
  // ✅ 필터 적용
23979
- /**
23980
24086
  this.#owner.data.getValidData()
23981
24087
  .filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
23982
24088
  .forEach(m => { m.__ng.filtered = true; });
23983
- */
23984
-
23985
- console.log(this.#owner.data.getValidData(), this.#owner.data.getValidData().filter(m => arr.includes(m.v[idx] || '')));
23986
24089
 
23987
- this.#owner.data.getValidData()
23988
- .filter(m => arr.includes(m.v[idx] || ''))
23989
- .forEach(m => { m.__ng.filtered = true; });
23990
- });
24090
+ }); */
23991
24091
 
23992
24092
 
23993
24093
  this.#owner.data.refreshFilter();
@@ -218,6 +218,114 @@ export class ngData
218
218
  return this.#records;
219
219
  }
220
220
 
221
+ /**
222
+ * { "key1": [1,2,...], "key2": [1,2,...], ... }
223
+ */
224
+ setFilter = (oFilter) => {
225
+
226
+ this.#owner.filtering.on();
227
+
228
+
229
+ let jsonFilter = {};
230
+ if (Array.isArray(oFilter)) {
231
+
232
+ for (let key in oFilter[0]) {
233
+ console.log(`::::::${key}::::::`)
234
+ //key = key.trim();
235
+ //console.log(key);
236
+ jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
237
+ }
238
+ }
239
+ else {
240
+ jsonFilter = oFilter;
241
+ }
242
+
243
+ //jsonFilter.doc_id = [2, 18, 20, 28, 36, 45, 46, 48, 56, 64, 73, 81, 83, 90];
244
+
245
+ //let filterData = [];
246
+
247
+
248
+ this.clearFilter();
249
+
250
+ for (let key in jsonFilter) {
251
+ const arr = jsonFilter[key];
252
+ const idx = this.#parent.owner.fields.indexOf(key);
253
+
254
+ let isNum = false;
255
+ for (let o of this.getValidData()) {
256
+ if (o.v[idx] == null) continue;
257
+
258
+ //console.log(o.v[idx], typeof o.v[idx])
259
+
260
+ isNum = (typeof o.v[idx] === "number") ? true : false;
261
+
262
+ break;
263
+ }
264
+
265
+ if (isNum) {
266
+ for (var i = 0; i < arr.length; i++) {
267
+ arr[i] = Number(arr[i]);
268
+ }
269
+ }
270
+
271
+ /** filtering button 용 데이타 */
272
+ /**
273
+ filterData.push({
274
+ "colnm" : key,
275
+ "data" : arr,
276
+ }); */
277
+ //console.log(arr);
278
+
279
+
280
+ //console.log(arr, idx, arr.nineBinarySearch(m.v[idx]));
281
+
282
+ this.getValidData().filter(m => { return arr.nineBinarySearch(m.v[idx] || '') < 0; }).map(m => { m.__ng.filtered = true; });
283
+
284
+
285
+ //break;
286
+
287
+
288
+ }
289
+
290
+
291
+ this.refreshFilter();
292
+
293
+ var colnms = [];
294
+ for (let key in jsonFilter) {
295
+ colnms.push(key);
296
+ }
297
+ //var colnms = filterData.map(item => item.colnm);
298
+
299
+ nxUtils.querySelectorAll("ng-filter-button").forEach(v => {
300
+ v.filterData = null;
301
+ });
302
+
303
+ for (let key in jsonFilter) {
304
+ const arr = jsonFilter[key];
305
+ const idx = this.#parent.owner.fields.indexOf(key);
306
+
307
+ //console.log(filterData);
308
+ nxUtils.querySelectorAll("ng-filter-button").forEach(v => {
309
+ //v.filterData = null;
310
+ //console.log(v);
311
+ //var b = v.colnms;
312
+ v.colnms.forEach(colnm => {
313
+
314
+ console.log(colnms, colnm);
315
+ if (colnms.includes(colnm)) {
316
+ console.log("==================");
317
+
318
+ v.filterData = arr;
319
+ }
320
+ });
321
+ });
322
+ }
323
+
324
+
325
+ this.#parent.owner.scrollTo_V1(0);
326
+
327
+ this.#parent.owner.paging.reset();
328
+ };
221
329
 
222
330
 
223
331
  /**
@@ -101,12 +101,11 @@ export class ngFiltering
101
101
  //console.log(oFilter, jsonFilter);
102
102
 
103
103
  this.#owner.data.clearFilter();
104
-
104
+ this.#owner.data.setFilter(jsonFilter);
105
+ /**
105
106
  Object.entries(jsonFilter).forEach(([key, arr]) => {
106
107
 
107
-
108
-
109
- //const idx = this.#owner.fields.indexOf(key);
108
+ const idx = this.#owner.fields.indexOf(key);
110
109
 
111
110
  // ✅ 숫자 판별 및 변환
112
111
  if (this.#owner.data.getValidData().some(o => typeof o.v[idx] === "number")) {
@@ -116,18 +115,11 @@ export class ngFiltering
116
115
  console.log(key, arr, idx);
117
116
 
118
117
  // ✅ 필터 적용
119
- /**
120
118
  this.#owner.data.getValidData()
121
119
  .filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
122
120
  .forEach(m => { m.__ng.filtered = true; });
123
- */
124
-
125
- console.log(this.#owner.data.getValidData(), this.#owner.data.getValidData().filter(m => arr.includes(m.v[idx] || '')));
126
121
 
127
- this.#owner.data.getValidData()
128
- .filter(m => arr.includes(m.v[idx] || ''))
129
- .forEach(m => { m.__ng.filtered = true; });
130
- });
122
+ }); */
131
123
 
132
124
 
133
125
  this.#owner.data.refreshFilter();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ninegrid2",
3
3
  "type": "module",
4
- "version": "6.466.0",
4
+ "version": "6.470.0",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
7
7
  "import": "./dist/index.js",
package/src/etc/ngData.js CHANGED
@@ -218,6 +218,114 @@ export class ngData
218
218
  return this.#records;
219
219
  }
220
220
 
221
+ /**
222
+ * { "key1": [1,2,...], "key2": [1,2,...], ... }
223
+ */
224
+ setFilter = (oFilter) => {
225
+
226
+ this.#owner.filtering.on();
227
+
228
+
229
+ let jsonFilter = {};
230
+ if (Array.isArray(oFilter)) {
231
+
232
+ for (let key in oFilter[0]) {
233
+ console.log(`::::::${key}::::::`)
234
+ //key = key.trim();
235
+ //console.log(key);
236
+ jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
237
+ }
238
+ }
239
+ else {
240
+ jsonFilter = oFilter;
241
+ }
242
+
243
+ //jsonFilter.doc_id = [2, 18, 20, 28, 36, 45, 46, 48, 56, 64, 73, 81, 83, 90];
244
+
245
+ //let filterData = [];
246
+
247
+
248
+ this.clearFilter();
249
+
250
+ for (let key in jsonFilter) {
251
+ const arr = jsonFilter[key];
252
+ const idx = this.#parent.owner.fields.indexOf(key);
253
+
254
+ let isNum = false;
255
+ for (let o of this.getValidData()) {
256
+ if (o.v[idx] == null) continue;
257
+
258
+ //console.log(o.v[idx], typeof o.v[idx])
259
+
260
+ isNum = (typeof o.v[idx] === "number") ? true : false;
261
+
262
+ break;
263
+ }
264
+
265
+ if (isNum) {
266
+ for (var i = 0; i < arr.length; i++) {
267
+ arr[i] = Number(arr[i]);
268
+ }
269
+ }
270
+
271
+ /** filtering button 용 데이타 */
272
+ /**
273
+ filterData.push({
274
+ "colnm" : key,
275
+ "data" : arr,
276
+ }); */
277
+ //console.log(arr);
278
+
279
+
280
+ //console.log(arr, idx, arr.nineBinarySearch(m.v[idx]));
281
+
282
+ this.getValidData().filter(m => { return arr.nineBinarySearch(m.v[idx] || '') < 0; }).map(m => { m.__ng.filtered = true; });
283
+
284
+
285
+ //break;
286
+
287
+
288
+ }
289
+
290
+
291
+ this.refreshFilter();
292
+
293
+ var colnms = [];
294
+ for (let key in jsonFilter) {
295
+ colnms.push(key);
296
+ }
297
+ //var colnms = filterData.map(item => item.colnm);
298
+
299
+ nxUtils.querySelectorAll("ng-filter-button").forEach(v => {
300
+ v.filterData = null;
301
+ });
302
+
303
+ for (let key in jsonFilter) {
304
+ const arr = jsonFilter[key];
305
+ const idx = this.#parent.owner.fields.indexOf(key);
306
+
307
+ //console.log(filterData);
308
+ nxUtils.querySelectorAll("ng-filter-button").forEach(v => {
309
+ //v.filterData = null;
310
+ //console.log(v);
311
+ //var b = v.colnms;
312
+ v.colnms.forEach(colnm => {
313
+
314
+ console.log(colnms, colnm);
315
+ if (colnms.includes(colnm)) {
316
+ console.log("==================");
317
+
318
+ v.filterData = arr;
319
+ }
320
+ });
321
+ });
322
+ }
323
+
324
+
325
+ this.#parent.owner.scrollTo_V1(0);
326
+
327
+ this.#parent.owner.paging.reset();
328
+ };
221
329
 
222
330
 
223
331
  /**
@@ -101,12 +101,11 @@ export class ngFiltering
101
101
  //console.log(oFilter, jsonFilter);
102
102
 
103
103
  this.#owner.data.clearFilter();
104
-
104
+ this.#owner.data.setFilter(jsonFilter);
105
+ /**
105
106
  Object.entries(jsonFilter).forEach(([key, arr]) => {
106
107
 
107
-
108
-
109
- //const idx = this.#owner.fields.indexOf(key);
108
+ const idx = this.#owner.fields.indexOf(key);
110
109
 
111
110
  // ✅ 숫자 판별 및 변환
112
111
  if (this.#owner.data.getValidData().some(o => typeof o.v[idx] === "number")) {
@@ -116,18 +115,11 @@ export class ngFiltering
116
115
  console.log(key, arr, idx);
117
116
 
118
117
  // ✅ 필터 적용
119
- /**
120
118
  this.#owner.data.getValidData()
121
119
  .filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
122
120
  .forEach(m => { m.__ng.filtered = true; });
123
- */
124
-
125
- console.log(this.#owner.data.getValidData(), this.#owner.data.getValidData().filter(m => arr.includes(m.v[idx] || '')));
126
121
 
127
- this.#owner.data.getValidData()
128
- .filter(m => arr.includes(m.v[idx] || ''))
129
- .forEach(m => { m.__ng.filtered = true; });
130
- });
122
+ }); */
131
123
 
132
124
 
133
125
  this.#owner.data.refreshFilter();