ninegrid2 6.171.0 → 6.173.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.
@@ -10730,14 +10730,14 @@ class ninegrid {
10730
10730
  if (!("shadow" in Element.prototype)) {
10731
10731
  Object.defineProperty(Element.prototype, "shadow", {
10732
10732
  get: function () {
10733
- const self = this;
10733
+ let currentElement = this;
10734
10734
  return {
10735
10735
  closest: function (selector) {
10736
- let currentElement = self;
10736
+ //let currentElement = self;
10737
10737
 
10738
10738
  while (currentElement) {
10739
10739
 
10740
- console.log(currentElement);
10740
+ //console.log(currentElement);
10741
10741
  if (currentElement.matches(selector)) return currentElement;
10742
10742
 
10743
10743
  // ✅ Shadow Root를 가지고 있는 경우 내부에서 탐색
@@ -18193,11 +18193,11 @@ class ngFilterButton extends HTMLElement
18193
18193
  //console.log(panel.isHidden);
18194
18194
 
18195
18195
  //panel.style.display = 'flex' : 'none';
18196
- console.log(panel.isHidden, panel.col, this.closest('th,td').dataset.col);
18196
+ //console.log(panel.isHidden, panel.col, this.closest('th,td').dataset.col);
18197
18197
 
18198
18198
  if (panel.col === this.closest('th,td').dataset.col) {
18199
- panel.col = null;
18200
- panel.style.display = 'none';
18199
+ //panel.col = null;
18200
+ //panel.style.display = 'none';
18201
18201
  panel.close();
18202
18202
  }
18203
18203
  else {
@@ -18435,8 +18435,6 @@ class ngFilterPanel extends HTMLElement
18435
18435
 
18436
18436
  open = (owner, filterButton) => {
18437
18437
 
18438
-
18439
-
18440
18438
  var col = filterButton.closest('th,td').dataset.col;
18441
18439
  this.col = col;
18442
18440
 
@@ -18450,113 +18448,12 @@ class ngFilterPanel extends HTMLElement
18450
18448
  col : col,
18451
18449
  };
18452
18450
 
18453
- $(this).show();
18451
+ this.style.display = 'flex';
18452
+ //$(this).show();
18454
18453
 
18455
18454
  ninegrid.j.querySelectorAll(this).addClass("loading");
18456
18455
 
18457
- $(this.shadowRoot).find("input[type=text]").val("");
18458
-
18459
- setTimeout(() => {
18460
-
18461
- var ds = [];
18462
- var colnms = [];
18463
- $(owner.template).find(`[data-col=${col}]`).each((index,el) => {
18464
- if (el.dataset.bind) colnms.push(el.dataset.bind);
18465
- });
18466
-
18467
- var data = owner.data.getValidDataNF();
18468
- $("ng-filter-button", owner.body).each((index,el) => {
18469
-
18470
- if (el.closest('th,td').dataset.col == col || !el.filterData) return true;
18471
- /**
18472
- el.filterData.forEach(o => {
18473
- var idx = owner.fields.indexOf(o.colnm);
18474
-
18475
- if (idx >= 0) {
18476
- data = data.filter(m => { return o.data.nineBinarySearch(m.v[idx] || '') >= 0; });
18477
- }
18478
- });
18479
- */
18480
-
18481
- console.log(el.filterData, el.colnms, el.dataset.bind);
18482
-
18483
- el.colnms.forEach(colnm => {
18484
- var idx = owner.fields.indexOf(colnm);
18485
-
18486
- console.log(idx);
18487
-
18488
- if (idx >= 0) {
18489
- data = data.filter(m => { return el.filterData.nineBinarySearch(m.v[idx] || '') >= 0; });
18490
- }
18491
- });
18492
-
18493
- //data = data.filter(rowData => { return el.filterData.findIndex(item => (item.DATA || '') == (rowData[item.COLNM] || '') ) >= 0; });
18494
- });
18495
-
18496
-
18497
- colnms = [...new Set(colnms)];
18498
- colnms.forEach((colnm,i) => {
18499
-
18500
- ds.push({
18501
- LVL: 1,
18502
- CHK: 'N',
18503
- DATA2: '<span class="group">' + $(filterButton).closest('th,td').text() + (colnms.length > 1 ? ` #${i+1} (${colnm})` : '') + '</span>',
18504
- });
18505
-
18506
- var filterData = [];
18507
- if (filterButton.filterData) {
18508
- var idx = filterButton.filterData.findIndex(item => item.colnm == colnm);
18509
- if (idx >= 0) {
18510
- filterData = filterButton.filterData[idx].data;
18511
- }
18512
- }
18513
-
18514
- /**
18515
- var cell = $(`[data-col=${col}][data-bind=${colnm}]`, owner.template);
18516
- var expr = cell.attr("data-expr");
18517
- var exprFunc = (expr) ? owner.exprFunction(expr) : null;
18518
- */
18519
-
18520
- const cell = ninegrid.j.querySelectorAll(`[data-col="${col}"][data-bind="${colnm}"]`, owner.tmpl).elem();
18521
- const expr = cell.getAttribute("data-expr");
18522
- const exprFunc = (expr) ? owner.exprFunction(expr) : null;
18523
-
18524
- var data2 = [];
18525
- for (var rowData of data) {
18526
- var idx = owner.fields.indexOf(colnm);
18527
-
18528
- if (expr) {
18529
- var o = owner.data.conv(rowData);
18530
- data2.push({v:o[colnm],v2:exprFunc(o, rowData.__ng.rowidx, owner.data)});
18531
- }
18532
- else {
18533
- data2.push({v:rowData.v[idx],v2:rowData.v[idx]});
18534
- }
18535
- }
18536
-
18537
- [...new Set(data2.sort( (a,b) => { return (a.v2||'') > (b.v2||'') ? 1 : ((a.v2||'') < (b.v2||'') ? -1 : 0); } ).map((m) => JSON.stringify(m)))].map((m) => JSON.parse(m)).forEach(o => {
18538
- ds.push({
18539
- LVL : 2,
18540
- DATA : o.v,
18541
- DATA2 : o.v2 || ` <span class="empty">(empty)</span> ${o.v}`,
18542
- COLNM : colnm,
18543
- CHK : filterData.length == 0 || filterData.nineBinarySearch(o.v || '') >= 0 ? "Y" : "N",
18544
- });
18545
- });
18546
- });
18547
-
18548
- var grd = this.shadowRoot.querySelector("nine-grid");
18549
- //grd.dataSource = ds;
18550
- grd.fields.add(["DATA","DATA2","COLNM"]);
18551
-
18552
- grd.data.set(ds);
18553
-
18554
- $(this.shadowRoot).find("input[type=checkbox]").prop("checked", grd.data.getValidData().filter(item => { return item.LVL == 2 && item.CHK != "Y"; }).length == 0 ? true : false);
18555
-
18556
- this.shadowRoot.querySelector("input").focus();
18557
-
18558
- ninegrid.j.querySelectorAll(this).removeClass("loading");
18559
- });
18456
+ return;
18560
18457
  };
18561
18458
  }
18562
18459
 
@@ -10728,14 +10728,14 @@ class ninegrid {
10728
10728
  if (!("shadow" in Element.prototype)) {
10729
10729
  Object.defineProperty(Element.prototype, "shadow", {
10730
10730
  get: function () {
10731
- const self = this;
10731
+ let currentElement = this;
10732
10732
  return {
10733
10733
  closest: function (selector) {
10734
- let currentElement = self;
10734
+ //let currentElement = self;
10735
10735
 
10736
10736
  while (currentElement) {
10737
10737
 
10738
- console.log(currentElement);
10738
+ //console.log(currentElement);
10739
10739
  if (currentElement.matches(selector)) return currentElement;
10740
10740
 
10741
10741
  // ✅ Shadow Root를 가지고 있는 경우 내부에서 탐색
@@ -18191,11 +18191,11 @@ class ngFilterButton extends HTMLElement
18191
18191
  //console.log(panel.isHidden);
18192
18192
 
18193
18193
  //panel.style.display = 'flex' : 'none';
18194
- console.log(panel.isHidden, panel.col, this.closest('th,td').dataset.col);
18194
+ //console.log(panel.isHidden, panel.col, this.closest('th,td').dataset.col);
18195
18195
 
18196
18196
  if (panel.col === this.closest('th,td').dataset.col) {
18197
- panel.col = null;
18198
- panel.style.display = 'none';
18197
+ //panel.col = null;
18198
+ //panel.style.display = 'none';
18199
18199
  panel.close();
18200
18200
  }
18201
18201
  else {
@@ -18433,8 +18433,6 @@ class ngFilterPanel extends HTMLElement
18433
18433
 
18434
18434
  open = (owner, filterButton) => {
18435
18435
 
18436
-
18437
-
18438
18436
  var col = filterButton.closest('th,td').dataset.col;
18439
18437
  this.col = col;
18440
18438
 
@@ -18448,113 +18446,12 @@ class ngFilterPanel extends HTMLElement
18448
18446
  col : col,
18449
18447
  };
18450
18448
 
18451
- $(this).show();
18449
+ this.style.display = 'flex';
18450
+ //$(this).show();
18452
18451
 
18453
18452
  ninegrid.j.querySelectorAll(this).addClass("loading");
18454
18453
 
18455
- $(this.shadowRoot).find("input[type=text]").val("");
18456
-
18457
- setTimeout(() => {
18458
-
18459
- var ds = [];
18460
- var colnms = [];
18461
- $(owner.template).find(`[data-col=${col}]`).each((index,el) => {
18462
- if (el.dataset.bind) colnms.push(el.dataset.bind);
18463
- });
18464
-
18465
- var data = owner.data.getValidDataNF();
18466
- $("ng-filter-button", owner.body).each((index,el) => {
18467
-
18468
- if (el.closest('th,td').dataset.col == col || !el.filterData) return true;
18469
- /**
18470
- el.filterData.forEach(o => {
18471
- var idx = owner.fields.indexOf(o.colnm);
18472
-
18473
- if (idx >= 0) {
18474
- data = data.filter(m => { return o.data.nineBinarySearch(m.v[idx] || '') >= 0; });
18475
- }
18476
- });
18477
- */
18478
-
18479
- console.log(el.filterData, el.colnms, el.dataset.bind);
18480
-
18481
- el.colnms.forEach(colnm => {
18482
- var idx = owner.fields.indexOf(colnm);
18483
-
18484
- console.log(idx);
18485
-
18486
- if (idx >= 0) {
18487
- data = data.filter(m => { return el.filterData.nineBinarySearch(m.v[idx] || '') >= 0; });
18488
- }
18489
- });
18490
-
18491
- //data = data.filter(rowData => { return el.filterData.findIndex(item => (item.DATA || '') == (rowData[item.COLNM] || '') ) >= 0; });
18492
- });
18493
-
18494
-
18495
- colnms = [...new Set(colnms)];
18496
- colnms.forEach((colnm,i) => {
18497
-
18498
- ds.push({
18499
- LVL: 1,
18500
- CHK: 'N',
18501
- DATA2: '<span class="group">' + $(filterButton).closest('th,td').text() + (colnms.length > 1 ? ` #${i+1} (${colnm})` : '') + '</span>',
18502
- });
18503
-
18504
- var filterData = [];
18505
- if (filterButton.filterData) {
18506
- var idx = filterButton.filterData.findIndex(item => item.colnm == colnm);
18507
- if (idx >= 0) {
18508
- filterData = filterButton.filterData[idx].data;
18509
- }
18510
- }
18511
-
18512
- /**
18513
- var cell = $(`[data-col=${col}][data-bind=${colnm}]`, owner.template);
18514
- var expr = cell.attr("data-expr");
18515
- var exprFunc = (expr) ? owner.exprFunction(expr) : null;
18516
- */
18517
-
18518
- const cell = ninegrid.j.querySelectorAll(`[data-col="${col}"][data-bind="${colnm}"]`, owner.tmpl).elem();
18519
- const expr = cell.getAttribute("data-expr");
18520
- const exprFunc = (expr) ? owner.exprFunction(expr) : null;
18521
-
18522
- var data2 = [];
18523
- for (var rowData of data) {
18524
- var idx = owner.fields.indexOf(colnm);
18525
-
18526
- if (expr) {
18527
- var o = owner.data.conv(rowData);
18528
- data2.push({v:o[colnm],v2:exprFunc(o, rowData.__ng.rowidx, owner.data)});
18529
- }
18530
- else {
18531
- data2.push({v:rowData.v[idx],v2:rowData.v[idx]});
18532
- }
18533
- }
18534
-
18535
- [...new Set(data2.sort( (a,b) => { return (a.v2||'') > (b.v2||'') ? 1 : ((a.v2||'') < (b.v2||'') ? -1 : 0); } ).map((m) => JSON.stringify(m)))].map((m) => JSON.parse(m)).forEach(o => {
18536
- ds.push({
18537
- LVL : 2,
18538
- DATA : o.v,
18539
- DATA2 : o.v2 || ` <span class="empty">(empty)</span> ${o.v}`,
18540
- COLNM : colnm,
18541
- CHK : filterData.length == 0 || filterData.nineBinarySearch(o.v || '') >= 0 ? "Y" : "N",
18542
- });
18543
- });
18544
- });
18545
-
18546
- var grd = this.shadowRoot.querySelector("nine-grid");
18547
- //grd.dataSource = ds;
18548
- grd.fields.add(["DATA","DATA2","COLNM"]);
18549
-
18550
- grd.data.set(ds);
18551
-
18552
- $(this.shadowRoot).find("input[type=checkbox]").prop("checked", grd.data.getValidData().filter(item => { return item.LVL == 2 && item.CHK != "Y"; }).length == 0 ? true : false);
18553
-
18554
- this.shadowRoot.querySelector("input").focus();
18555
-
18556
- ninegrid.j.querySelectorAll(this).removeClass("loading");
18557
- });
18454
+ return;
18558
18455
  };
18559
18456
  }
18560
18457
 
@@ -286,11 +286,11 @@ class ngFilterButton extends HTMLElement
286
286
  //console.log(panel.isHidden);
287
287
 
288
288
  //panel.style.display = 'flex' : 'none';
289
- console.log(panel.isHidden, panel.col, this.closest('th,td').dataset.col);
289
+ //console.log(panel.isHidden, panel.col, this.closest('th,td').dataset.col);
290
290
 
291
291
  if (panel.col === this.closest('th,td').dataset.col) {
292
- panel.col = null;
293
- panel.style.display = 'none';
292
+ //panel.col = null;
293
+ //panel.style.display = 'none';
294
294
  panel.close();
295
295
  }
296
296
  else {
@@ -530,8 +530,6 @@ class ngFilterPanel extends HTMLElement
530
530
 
531
531
  open = (owner, filterButton) => {
532
532
 
533
-
534
-
535
533
  var col = filterButton.closest('th,td').dataset.col;
536
534
  this.col = col;
537
535
 
@@ -548,10 +546,13 @@ class ngFilterPanel extends HTMLElement
548
546
  col : col,
549
547
  }
550
548
 
551
- $(this).show();
549
+ this.style.display = 'flex';
550
+ //$(this).show();
552
551
 
553
552
  ninegrid.j.querySelectorAll(this).addClass("loading");
554
553
 
554
+ return;
555
+
555
556
  $(this.shadowRoot).find("input[type=text]").val("");
556
557
 
557
558
  setTimeout(() => {
@@ -24,14 +24,14 @@ export class ninegrid {
24
24
  if (!("shadow" in Element.prototype)) {
25
25
  Object.defineProperty(Element.prototype, "shadow", {
26
26
  get: function () {
27
- const self = this;
27
+ let currentElement = this;
28
28
  return {
29
29
  closest: function (selector) {
30
- let currentElement = self;
30
+ //let currentElement = self;
31
31
 
32
32
  while (currentElement) {
33
33
 
34
- console.log(currentElement);
34
+ //console.log(currentElement);
35
35
  if (currentElement.matches(selector)) return currentElement;
36
36
 
37
37
  // ✅ Shadow Root를 가지고 있는 경우 내부에서 탐색
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ninegrid2",
3
3
  "type": "module",
4
- "version": "6.171.0",
4
+ "version": "6.173.0",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
7
7
  "import": "./dist/index.js",
@@ -286,11 +286,11 @@ class ngFilterButton extends HTMLElement
286
286
  //console.log(panel.isHidden);
287
287
 
288
288
  //panel.style.display = 'flex' : 'none';
289
- console.log(panel.isHidden, panel.col, this.closest('th,td').dataset.col);
289
+ //console.log(panel.isHidden, panel.col, this.closest('th,td').dataset.col);
290
290
 
291
291
  if (panel.col === this.closest('th,td').dataset.col) {
292
- panel.col = null;
293
- panel.style.display = 'none';
292
+ //panel.col = null;
293
+ //panel.style.display = 'none';
294
294
  panel.close();
295
295
  }
296
296
  else {
@@ -530,8 +530,6 @@ class ngFilterPanel extends HTMLElement
530
530
 
531
531
  open = (owner, filterButton) => {
532
532
 
533
-
534
-
535
533
  var col = filterButton.closest('th,td').dataset.col;
536
534
  this.col = col;
537
535
 
@@ -548,10 +546,13 @@ class ngFilterPanel extends HTMLElement
548
546
  col : col,
549
547
  }
550
548
 
551
- $(this).show();
549
+ this.style.display = 'flex';
550
+ //$(this).show();
552
551
 
553
552
  ninegrid.j.querySelectorAll(this).addClass("loading");
554
553
 
554
+ return;
555
+
555
556
  $(this.shadowRoot).find("input[type=text]").val("");
556
557
 
557
558
  setTimeout(() => {
@@ -24,14 +24,14 @@ export class ninegrid {
24
24
  if (!("shadow" in Element.prototype)) {
25
25
  Object.defineProperty(Element.prototype, "shadow", {
26
26
  get: function () {
27
- const self = this;
27
+ let currentElement = this;
28
28
  return {
29
29
  closest: function (selector) {
30
- let currentElement = self;
30
+ //let currentElement = self;
31
31
 
32
32
  while (currentElement) {
33
33
 
34
- console.log(currentElement);
34
+ //console.log(currentElement);
35
35
  if (currentElement.matches(selector)) return currentElement;
36
36
 
37
37
  // ✅ Shadow Root를 가지고 있는 경우 내부에서 탐색