ninegrid2 6.174.0 → 6.176.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 +109 -5
- package/dist/bundle.esm.js +109 -5
- package/dist/etc/ngFiltering.js +6 -6
- package/package.json +1 -1
- package/src/etc/ngFiltering.js +6 -6
package/dist/bundle.cjs.js
CHANGED
|
@@ -18464,6 +18464,8 @@ class ngFilterPanel extends HTMLElement
|
|
|
18464
18464
|
|
|
18465
18465
|
open = (owner, filterButton) => {
|
|
18466
18466
|
|
|
18467
|
+
console.log(this.shadow.closest("nine-grid"));
|
|
18468
|
+
|
|
18467
18469
|
var col = filterButton.closest('th,td').dataset.col;
|
|
18468
18470
|
this.col = col;
|
|
18469
18471
|
|
|
@@ -18478,13 +18480,115 @@ class ngFilterPanel extends HTMLElement
|
|
|
18478
18480
|
};
|
|
18479
18481
|
|
|
18480
18482
|
this.style.display = 'flex';
|
|
18481
|
-
//$(this).show();
|
|
18482
|
-
|
|
18483
|
-
//console.log(document.shadow.querySelectorAll(this), ninegrid.j.querySelectorAll(this));
|
|
18484
|
-
//ninegrid.j.querySelectorAll(this).addClass("loading");
|
|
18485
18483
|
this.classList.add("loading");
|
|
18484
|
+
|
|
18486
18485
|
|
|
18487
|
-
|
|
18486
|
+
this.shadowRoot.querySelector("input[type=text]").value = "";
|
|
18487
|
+
|
|
18488
|
+
//$(this.shadowRoot).find("input[type=text]").val("");
|
|
18489
|
+
|
|
18490
|
+
setTimeout(() => {
|
|
18491
|
+
|
|
18492
|
+
|
|
18493
|
+
var ds = [];
|
|
18494
|
+
var colnms = [];
|
|
18495
|
+
$(owner.template).find(`[data-col=${col}]`).each((index,el) => {
|
|
18496
|
+
if (el.dataset.bind) colnms.push(el.dataset.bind);
|
|
18497
|
+
});
|
|
18498
|
+
|
|
18499
|
+
var data = owner.data.getValidDataNF();
|
|
18500
|
+
$("ng-filter-button", owner.body).each((index,el) => {
|
|
18501
|
+
|
|
18502
|
+
if (el.closest('th,td').dataset.col == col || !el.filterData) return true;
|
|
18503
|
+
/**
|
|
18504
|
+
el.filterData.forEach(o => {
|
|
18505
|
+
var idx = owner.fields.indexOf(o.colnm);
|
|
18506
|
+
|
|
18507
|
+
if (idx >= 0) {
|
|
18508
|
+
data = data.filter(m => { return o.data.nineBinarySearch(m.v[idx] || '') >= 0; });
|
|
18509
|
+
}
|
|
18510
|
+
});
|
|
18511
|
+
*/
|
|
18512
|
+
|
|
18513
|
+
console.log(el.filterData, el.colnms, el.dataset.bind);
|
|
18514
|
+
|
|
18515
|
+
el.colnms.forEach(colnm => {
|
|
18516
|
+
var idx = owner.fields.indexOf(colnm);
|
|
18517
|
+
|
|
18518
|
+
console.log(idx);
|
|
18519
|
+
|
|
18520
|
+
if (idx >= 0) {
|
|
18521
|
+
data = data.filter(m => { return el.filterData.nineBinarySearch(m.v[idx] || '') >= 0; });
|
|
18522
|
+
}
|
|
18523
|
+
});
|
|
18524
|
+
|
|
18525
|
+
//data = data.filter(rowData => { return el.filterData.findIndex(item => (item.DATA || '') == (rowData[item.COLNM] || '') ) >= 0; });
|
|
18526
|
+
});
|
|
18527
|
+
|
|
18528
|
+
|
|
18529
|
+
colnms = [...new Set(colnms)];
|
|
18530
|
+
colnms.forEach((colnm,i) => {
|
|
18531
|
+
|
|
18532
|
+
ds.push({
|
|
18533
|
+
LVL: 1,
|
|
18534
|
+
CHK: 'N',
|
|
18535
|
+
DATA2: '<span class="group">' + $(filterButton).closest('th,td').text() + (colnms.length > 1 ? ` #${i+1} (${colnm})` : '') + '</span>',
|
|
18536
|
+
});
|
|
18537
|
+
|
|
18538
|
+
var filterData = [];
|
|
18539
|
+
if (filterButton.filterData) {
|
|
18540
|
+
var idx = filterButton.filterData.findIndex(item => item.colnm == colnm);
|
|
18541
|
+
if (idx >= 0) {
|
|
18542
|
+
filterData = filterButton.filterData[idx].data;
|
|
18543
|
+
}
|
|
18544
|
+
}
|
|
18545
|
+
|
|
18546
|
+
/**
|
|
18547
|
+
var cell = $(`[data-col=${col}][data-bind=${colnm}]`, owner.template);
|
|
18548
|
+
var expr = cell.attr("data-expr");
|
|
18549
|
+
var exprFunc = (expr) ? owner.exprFunction(expr) : null;
|
|
18550
|
+
*/
|
|
18551
|
+
|
|
18552
|
+
const cell = ninegrid.j.querySelectorAll(`[data-col="${col}"][data-bind="${colnm}"]`, owner.tmpl).elem();
|
|
18553
|
+
const expr = cell.getAttribute("data-expr");
|
|
18554
|
+
const exprFunc = (expr) ? owner.exprFunction(expr) : null;
|
|
18555
|
+
|
|
18556
|
+
var data2 = [];
|
|
18557
|
+
for (var rowData of data) {
|
|
18558
|
+
var idx = owner.fields.indexOf(colnm);
|
|
18559
|
+
|
|
18560
|
+
if (expr) {
|
|
18561
|
+
var o = owner.data.conv(rowData);
|
|
18562
|
+
data2.push({v:o[colnm],v2:exprFunc(o, rowData.__ng.rowidx, owner.data)});
|
|
18563
|
+
}
|
|
18564
|
+
else {
|
|
18565
|
+
data2.push({v:rowData.v[idx],v2:rowData.v[idx]});
|
|
18566
|
+
}
|
|
18567
|
+
}
|
|
18568
|
+
|
|
18569
|
+
[...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 => {
|
|
18570
|
+
ds.push({
|
|
18571
|
+
LVL : 2,
|
|
18572
|
+
DATA : o.v,
|
|
18573
|
+
DATA2 : o.v2 || ` <span class="empty">(empty)</span> ${o.v}`,
|
|
18574
|
+
COLNM : colnm,
|
|
18575
|
+
CHK : filterData.length == 0 || filterData.nineBinarySearch(o.v || '') >= 0 ? "Y" : "N",
|
|
18576
|
+
});
|
|
18577
|
+
});
|
|
18578
|
+
});
|
|
18579
|
+
|
|
18580
|
+
var grd = this.shadowRoot.querySelector("nine-grid");
|
|
18581
|
+
//grd.dataSource = ds;
|
|
18582
|
+
grd.fields.add(["DATA","DATA2","COLNM"]);
|
|
18583
|
+
|
|
18584
|
+
grd.data.set(ds);
|
|
18585
|
+
|
|
18586
|
+
$(this.shadowRoot).find("input[type=checkbox]").prop("checked", grd.data.getValidData().filter(item => { return item.LVL == 2 && item.CHK != "Y"; }).length == 0 ? true : false);
|
|
18587
|
+
|
|
18588
|
+
this.shadowRoot.querySelector("input").focus();
|
|
18589
|
+
|
|
18590
|
+
ninegrid.j.querySelectorAll(this).removeClass("loading");
|
|
18591
|
+
});
|
|
18488
18592
|
};
|
|
18489
18593
|
}
|
|
18490
18594
|
|
package/dist/bundle.esm.js
CHANGED
|
@@ -18462,6 +18462,8 @@ class ngFilterPanel extends HTMLElement
|
|
|
18462
18462
|
|
|
18463
18463
|
open = (owner, filterButton) => {
|
|
18464
18464
|
|
|
18465
|
+
console.log(this.shadow.closest("nine-grid"));
|
|
18466
|
+
|
|
18465
18467
|
var col = filterButton.closest('th,td').dataset.col;
|
|
18466
18468
|
this.col = col;
|
|
18467
18469
|
|
|
@@ -18476,13 +18478,115 @@ class ngFilterPanel extends HTMLElement
|
|
|
18476
18478
|
};
|
|
18477
18479
|
|
|
18478
18480
|
this.style.display = 'flex';
|
|
18479
|
-
//$(this).show();
|
|
18480
|
-
|
|
18481
|
-
//console.log(document.shadow.querySelectorAll(this), ninegrid.j.querySelectorAll(this));
|
|
18482
|
-
//ninegrid.j.querySelectorAll(this).addClass("loading");
|
|
18483
18481
|
this.classList.add("loading");
|
|
18482
|
+
|
|
18484
18483
|
|
|
18485
|
-
|
|
18484
|
+
this.shadowRoot.querySelector("input[type=text]").value = "";
|
|
18485
|
+
|
|
18486
|
+
//$(this.shadowRoot).find("input[type=text]").val("");
|
|
18487
|
+
|
|
18488
|
+
setTimeout(() => {
|
|
18489
|
+
|
|
18490
|
+
|
|
18491
|
+
var ds = [];
|
|
18492
|
+
var colnms = [];
|
|
18493
|
+
$(owner.template).find(`[data-col=${col}]`).each((index,el) => {
|
|
18494
|
+
if (el.dataset.bind) colnms.push(el.dataset.bind);
|
|
18495
|
+
});
|
|
18496
|
+
|
|
18497
|
+
var data = owner.data.getValidDataNF();
|
|
18498
|
+
$("ng-filter-button", owner.body).each((index,el) => {
|
|
18499
|
+
|
|
18500
|
+
if (el.closest('th,td').dataset.col == col || !el.filterData) return true;
|
|
18501
|
+
/**
|
|
18502
|
+
el.filterData.forEach(o => {
|
|
18503
|
+
var idx = owner.fields.indexOf(o.colnm);
|
|
18504
|
+
|
|
18505
|
+
if (idx >= 0) {
|
|
18506
|
+
data = data.filter(m => { return o.data.nineBinarySearch(m.v[idx] || '') >= 0; });
|
|
18507
|
+
}
|
|
18508
|
+
});
|
|
18509
|
+
*/
|
|
18510
|
+
|
|
18511
|
+
console.log(el.filterData, el.colnms, el.dataset.bind);
|
|
18512
|
+
|
|
18513
|
+
el.colnms.forEach(colnm => {
|
|
18514
|
+
var idx = owner.fields.indexOf(colnm);
|
|
18515
|
+
|
|
18516
|
+
console.log(idx);
|
|
18517
|
+
|
|
18518
|
+
if (idx >= 0) {
|
|
18519
|
+
data = data.filter(m => { return el.filterData.nineBinarySearch(m.v[idx] || '') >= 0; });
|
|
18520
|
+
}
|
|
18521
|
+
});
|
|
18522
|
+
|
|
18523
|
+
//data = data.filter(rowData => { return el.filterData.findIndex(item => (item.DATA || '') == (rowData[item.COLNM] || '') ) >= 0; });
|
|
18524
|
+
});
|
|
18525
|
+
|
|
18526
|
+
|
|
18527
|
+
colnms = [...new Set(colnms)];
|
|
18528
|
+
colnms.forEach((colnm,i) => {
|
|
18529
|
+
|
|
18530
|
+
ds.push({
|
|
18531
|
+
LVL: 1,
|
|
18532
|
+
CHK: 'N',
|
|
18533
|
+
DATA2: '<span class="group">' + $(filterButton).closest('th,td').text() + (colnms.length > 1 ? ` #${i+1} (${colnm})` : '') + '</span>',
|
|
18534
|
+
});
|
|
18535
|
+
|
|
18536
|
+
var filterData = [];
|
|
18537
|
+
if (filterButton.filterData) {
|
|
18538
|
+
var idx = filterButton.filterData.findIndex(item => item.colnm == colnm);
|
|
18539
|
+
if (idx >= 0) {
|
|
18540
|
+
filterData = filterButton.filterData[idx].data;
|
|
18541
|
+
}
|
|
18542
|
+
}
|
|
18543
|
+
|
|
18544
|
+
/**
|
|
18545
|
+
var cell = $(`[data-col=${col}][data-bind=${colnm}]`, owner.template);
|
|
18546
|
+
var expr = cell.attr("data-expr");
|
|
18547
|
+
var exprFunc = (expr) ? owner.exprFunction(expr) : null;
|
|
18548
|
+
*/
|
|
18549
|
+
|
|
18550
|
+
const cell = ninegrid.j.querySelectorAll(`[data-col="${col}"][data-bind="${colnm}"]`, owner.tmpl).elem();
|
|
18551
|
+
const expr = cell.getAttribute("data-expr");
|
|
18552
|
+
const exprFunc = (expr) ? owner.exprFunction(expr) : null;
|
|
18553
|
+
|
|
18554
|
+
var data2 = [];
|
|
18555
|
+
for (var rowData of data) {
|
|
18556
|
+
var idx = owner.fields.indexOf(colnm);
|
|
18557
|
+
|
|
18558
|
+
if (expr) {
|
|
18559
|
+
var o = owner.data.conv(rowData);
|
|
18560
|
+
data2.push({v:o[colnm],v2:exprFunc(o, rowData.__ng.rowidx, owner.data)});
|
|
18561
|
+
}
|
|
18562
|
+
else {
|
|
18563
|
+
data2.push({v:rowData.v[idx],v2:rowData.v[idx]});
|
|
18564
|
+
}
|
|
18565
|
+
}
|
|
18566
|
+
|
|
18567
|
+
[...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 => {
|
|
18568
|
+
ds.push({
|
|
18569
|
+
LVL : 2,
|
|
18570
|
+
DATA : o.v,
|
|
18571
|
+
DATA2 : o.v2 || ` <span class="empty">(empty)</span> ${o.v}`,
|
|
18572
|
+
COLNM : colnm,
|
|
18573
|
+
CHK : filterData.length == 0 || filterData.nineBinarySearch(o.v || '') >= 0 ? "Y" : "N",
|
|
18574
|
+
});
|
|
18575
|
+
});
|
|
18576
|
+
});
|
|
18577
|
+
|
|
18578
|
+
var grd = this.shadowRoot.querySelector("nine-grid");
|
|
18579
|
+
//grd.dataSource = ds;
|
|
18580
|
+
grd.fields.add(["DATA","DATA2","COLNM"]);
|
|
18581
|
+
|
|
18582
|
+
grd.data.set(ds);
|
|
18583
|
+
|
|
18584
|
+
$(this.shadowRoot).find("input[type=checkbox]").prop("checked", grd.data.getValidData().filter(item => { return item.LVL == 2 && item.CHK != "Y"; }).length == 0 ? true : false);
|
|
18585
|
+
|
|
18586
|
+
this.shadowRoot.querySelector("input").focus();
|
|
18587
|
+
|
|
18588
|
+
ninegrid.j.querySelectorAll(this).removeClass("loading");
|
|
18589
|
+
});
|
|
18486
18590
|
};
|
|
18487
18591
|
}
|
|
18488
18592
|
|
package/dist/etc/ngFiltering.js
CHANGED
|
@@ -530,6 +530,8 @@ class ngFilterPanel extends HTMLElement
|
|
|
530
530
|
|
|
531
531
|
open = (owner, filterButton) => {
|
|
532
532
|
|
|
533
|
+
console.log(this.shadow.closest("nine-grid"));
|
|
534
|
+
|
|
533
535
|
var col = filterButton.closest('th,td').dataset.col;
|
|
534
536
|
this.col = col;
|
|
535
537
|
|
|
@@ -547,18 +549,16 @@ class ngFilterPanel extends HTMLElement
|
|
|
547
549
|
}
|
|
548
550
|
|
|
549
551
|
this.style.display = 'flex';
|
|
550
|
-
//$(this).show();
|
|
551
|
-
|
|
552
|
-
//console.log(document.shadow.querySelectorAll(this), ninegrid.j.querySelectorAll(this));
|
|
553
|
-
//ninegrid.j.querySelectorAll(this).addClass("loading");
|
|
554
552
|
this.classList.add("loading");
|
|
553
|
+
|
|
555
554
|
|
|
556
|
-
|
|
555
|
+
this.shadowRoot.querySelector("input[type=text]").value = "";
|
|
557
556
|
|
|
558
|
-
|
|
557
|
+
//$(this.shadowRoot).find("input[type=text]").val("");
|
|
559
558
|
|
|
560
559
|
setTimeout(() => {
|
|
561
560
|
|
|
561
|
+
|
|
562
562
|
var ds = [];
|
|
563
563
|
var colnms = [];
|
|
564
564
|
$(owner.template).find(`[data-col=${col}]`).each((index,el) => {
|
package/package.json
CHANGED
package/src/etc/ngFiltering.js
CHANGED
|
@@ -530,6 +530,8 @@ class ngFilterPanel extends HTMLElement
|
|
|
530
530
|
|
|
531
531
|
open = (owner, filterButton) => {
|
|
532
532
|
|
|
533
|
+
console.log(this.shadow.closest("nine-grid"));
|
|
534
|
+
|
|
533
535
|
var col = filterButton.closest('th,td').dataset.col;
|
|
534
536
|
this.col = col;
|
|
535
537
|
|
|
@@ -547,18 +549,16 @@ class ngFilterPanel extends HTMLElement
|
|
|
547
549
|
}
|
|
548
550
|
|
|
549
551
|
this.style.display = 'flex';
|
|
550
|
-
//$(this).show();
|
|
551
|
-
|
|
552
|
-
//console.log(document.shadow.querySelectorAll(this), ninegrid.j.querySelectorAll(this));
|
|
553
|
-
//ninegrid.j.querySelectorAll(this).addClass("loading");
|
|
554
552
|
this.classList.add("loading");
|
|
553
|
+
|
|
555
554
|
|
|
556
|
-
|
|
555
|
+
this.shadowRoot.querySelector("input[type=text]").value = "";
|
|
557
556
|
|
|
558
|
-
|
|
557
|
+
//$(this.shadowRoot).find("input[type=text]").val("");
|
|
559
558
|
|
|
560
559
|
setTimeout(() => {
|
|
561
560
|
|
|
561
|
+
|
|
562
562
|
var ds = [];
|
|
563
563
|
var colnms = [];
|
|
564
564
|
$(owner.template).find(`[data-col=${col}]`).each((index,el) => {
|