ninegrid2 6.467.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,7 +24071,8 @@ 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
24078
  const idx = this.#owner.fields.indexOf(key);
@@ -23976,18 +24085,11 @@ class ngFiltering
23976
24085
  console.log(key, arr, idx);
23977
24086
 
23978
24087
  // ✅ 필터 적용
23979
- /**
23980
24088
  this.#owner.data.getValidData()
23981
24089
  .filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
23982
24090
  .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
24091
 
23987
- this.#owner.data.getValidData()
23988
- .filter(m => arr.includes(m.v[idx] || ''))
23989
- .forEach(m => { m.__ng.filtered = true; });
23990
- });
24092
+ }); */
23991
24093
 
23992
24094
 
23993
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,7 +24069,8 @@ 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
24076
  const idx = this.#owner.fields.indexOf(key);
@@ -23974,18 +24083,11 @@ class ngFiltering
23974
24083
  console.log(key, arr, idx);
23975
24084
 
23976
24085
  // ✅ 필터 적용
23977
- /**
23978
24086
  this.#owner.data.getValidData()
23979
24087
  .filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
23980
24088
  .forEach(m => { m.__ng.filtered = true; });
23981
- */
23982
-
23983
- console.log(this.#owner.data.getValidData(), this.#owner.data.getValidData().filter(m => arr.includes(m.v[idx] || '')));
23984
24089
 
23985
- this.#owner.data.getValidData()
23986
- .filter(m => arr.includes(m.v[idx] || ''))
23987
- .forEach(m => { m.__ng.filtered = true; });
23988
- });
24090
+ }); */
23989
24091
 
23990
24092
 
23991
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,7 +101,8 @@ 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
  const idx = this.#owner.fields.indexOf(key);
@@ -114,18 +115,11 @@ export class ngFiltering
114
115
  console.log(key, arr, idx);
115
116
 
116
117
  // ✅ 필터 적용
117
- /**
118
118
  this.#owner.data.getValidData()
119
119
  .filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
120
120
  .forEach(m => { m.__ng.filtered = true; });
121
- */
122
-
123
- console.log(this.#owner.data.getValidData(), this.#owner.data.getValidData().filter(m => arr.includes(m.v[idx] || '')));
124
121
 
125
- this.#owner.data.getValidData()
126
- .filter(m => arr.includes(m.v[idx] || ''))
127
- .forEach(m => { m.__ng.filtered = true; });
128
- });
122
+ }); */
129
123
 
130
124
 
131
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.467.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,7 +101,8 @@ 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
  const idx = this.#owner.fields.indexOf(key);
@@ -114,18 +115,11 @@ export class ngFiltering
114
115
  console.log(key, arr, idx);
115
116
 
116
117
  // ✅ 필터 적용
117
- /**
118
118
  this.#owner.data.getValidData()
119
119
  .filter(m => arr.nineBinarySearch(m.v[idx] || '') < 0)
120
120
  .forEach(m => { m.__ng.filtered = true; });
121
- */
122
-
123
- console.log(this.#owner.data.getValidData(), this.#owner.data.getValidData().filter(m => arr.includes(m.v[idx] || '')));
124
121
 
125
- this.#owner.data.getValidData()
126
- .filter(m => arr.includes(m.v[idx] || ''))
127
- .forEach(m => { m.__ng.filtered = true; });
128
- });
122
+ }); */
129
123
 
130
124
 
131
125
  this.#owner.data.refreshFilter();