ninegrid2 6.132.0 → 6.133.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.
@@ -17865,6 +17865,13 @@ class ngFields
17865
17865
  };
17866
17866
  }
17867
17867
 
17868
+ /**
17869
+ * button.filterDatas = [{
17870
+ * colnm: "userId",
17871
+ * data: [],
17872
+ * }]
17873
+ * button.
17874
+ */
17868
17875
  class ngFiltering
17869
17876
  {
17870
17877
  #owner;
@@ -17893,11 +17900,116 @@ class ngFiltering
17893
17900
 
17894
17901
  this.#on();
17895
17902
 
17896
- if (v) this.#set(v);
17903
+ //if (v) this.#init(v);
17904
+ };
17905
+
17906
+ set = (oFilter) => {
17907
+
17908
+ this.on();
17909
+
17910
+ let jsonFilter = {};
17911
+ if (Array.isArray(oFilter)) {
17912
+ for (let key in oFilter[0]) {
17913
+ jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
17914
+ }
17915
+ }
17916
+ else {
17917
+ jsonFilter = oFilter;
17918
+ }
17919
+
17920
+ //jsonFilter.doc_id = [2, 18, 20, 28, 36, 45, 46, 48, 56, 64, 73, 81, 83, 90];
17921
+
17922
+ //let filterData = [];
17923
+
17924
+ console.log("==================", jsonFilter);
17925
+
17926
+ this.clearFilter();
17927
+
17928
+ for (let key in jsonFilter) {
17929
+ const arr = jsonFilter[key];
17930
+ const idx = this.#parent.owner.fields.indexOf(key);
17931
+
17932
+ let isNum = false;
17933
+ for (let o of this.getValidData()) {
17934
+ if (o.v[idx] == null) continue;
17935
+
17936
+ //console.log(o.v[idx], typeof o.v[idx])
17937
+
17938
+ isNum = (typeof o.v[idx] === "number") ? true : false;
17939
+
17940
+ break;
17941
+ }
17942
+
17943
+ if (isNum) {
17944
+ for (var i = 0; i < arr.length; i++) {
17945
+ arr[i] = Number(arr[i]);
17946
+ }
17947
+ }
17948
+
17949
+ /** filtering button 용 데이타 */
17950
+ /**
17951
+ filterData.push({
17952
+ "colnm" : key,
17953
+ "data" : arr,
17954
+ }); */
17955
+ //console.log(arr);
17956
+
17957
+
17958
+ //console.log(arr, idx, arr.nineBinarySearch(m.v[idx]));
17959
+
17960
+ this.getValidData().filter(m => { return arr.nineBinarySearch(m.v[idx] || '') < 0; }).map(m => { m.__ng.filtered = true; });
17961
+
17962
+
17963
+ //break;
17964
+
17965
+
17966
+ }
17967
+
17968
+
17969
+ this.refreshFilter();
17970
+
17971
+ var colnms = [];
17972
+ for (let key in jsonFilter) {
17973
+ colnms.push(key);
17974
+ }
17975
+ //var colnms = filterData.map(item => item.colnm);
17976
+
17977
+ ninegrid.querySelectorAll("ng-filter-button").forEach(v => {
17978
+ v.filterData = null;
17979
+ });
17980
+
17981
+ for (let key in jsonFilter) {
17982
+ const arr = jsonFilter[key];
17983
+ this.#parent.owner.fields.indexOf(key);
17984
+
17985
+ //console.log(filterData);
17986
+ ninegrid.querySelectorAll("ng-filter-button").forEach(v => {
17987
+ //v.filterData = null;
17988
+ //console.log(v);
17989
+ //var b = v.colnms;
17990
+ v.colnms.forEach(colnm => {
17991
+
17992
+ console.log(colnms, colnm);
17993
+ if (colnms.includes(colnm)) {
17994
+ console.log("==================");
17995
+
17996
+ v.filterData = arr;
17997
+ }
17998
+ });
17999
+ });
18000
+ }
18001
+
18002
+
18003
+ this.#parent.owner.scrollTo_V1(0);
18004
+
18005
+ this.#parent.owner.paging.reset();
17897
18006
  };
17898
18007
 
18008
+
17899
18009
  #on = () => {
17900
18010
 
18011
+ console.log("onnnnnnn");
18012
+
17901
18013
  this.#isFiltering = true;
17902
18014
 
17903
18015
  var lastRowIndex = 0;
@@ -17928,11 +18040,10 @@ class ngFiltering
17928
18040
  $(".ng-table ng-filter-button", this.#owner.body).remove();
17929
18041
  };
17930
18042
 
17931
- #set = (option) => {
18043
+ #init = (option) => {
17932
18044
 
17933
18045
  let jsonOption = {};
17934
18046
  if (Array.isArray(option)) {
17935
-
17936
18047
  for (let key in option[0]) {
17937
18048
  jsonOption[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
17938
18049
  }
@@ -18310,15 +18421,15 @@ class ngFilterPanel extends HTMLElement
18310
18421
 
18311
18422
  console.log(el.filterData, el.colnms, el.dataset.bind);
18312
18423
 
18313
- //colnms.forEach(colnm => {
18314
- var idx = owner.fields.indexOf(el.colnms[0]);
18424
+ el.colnms.forEach(colnm => {
18425
+ var idx = owner.fields.indexOf(colnm);
18315
18426
 
18316
18427
  console.log(idx);
18317
18428
 
18318
18429
  if (idx >= 0) {
18319
18430
  data = data.filter(m => { return el.filterData.nineBinarySearch(m.v[idx] || '') >= 0; });
18320
18431
  }
18321
- //});
18432
+ });
18322
18433
 
18323
18434
  //data = data.filter(rowData => { return el.filterData.findIndex(item => (item.DATA || '') == (rowData[item.COLNM] || '') ) >= 0; });
18324
18435
  });
@@ -17863,6 +17863,13 @@ class ngFields
17863
17863
  };
17864
17864
  }
17865
17865
 
17866
+ /**
17867
+ * button.filterDatas = [{
17868
+ * colnm: "userId",
17869
+ * data: [],
17870
+ * }]
17871
+ * button.
17872
+ */
17866
17873
  class ngFiltering
17867
17874
  {
17868
17875
  #owner;
@@ -17891,11 +17898,116 @@ class ngFiltering
17891
17898
 
17892
17899
  this.#on();
17893
17900
 
17894
- if (v) this.#set(v);
17901
+ //if (v) this.#init(v);
17902
+ };
17903
+
17904
+ set = (oFilter) => {
17905
+
17906
+ this.on();
17907
+
17908
+ let jsonFilter = {};
17909
+ if (Array.isArray(oFilter)) {
17910
+ for (let key in oFilter[0]) {
17911
+ jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
17912
+ }
17913
+ }
17914
+ else {
17915
+ jsonFilter = oFilter;
17916
+ }
17917
+
17918
+ //jsonFilter.doc_id = [2, 18, 20, 28, 36, 45, 46, 48, 56, 64, 73, 81, 83, 90];
17919
+
17920
+ //let filterData = [];
17921
+
17922
+ console.log("==================", jsonFilter);
17923
+
17924
+ this.clearFilter();
17925
+
17926
+ for (let key in jsonFilter) {
17927
+ const arr = jsonFilter[key];
17928
+ const idx = this.#parent.owner.fields.indexOf(key);
17929
+
17930
+ let isNum = false;
17931
+ for (let o of this.getValidData()) {
17932
+ if (o.v[idx] == null) continue;
17933
+
17934
+ //console.log(o.v[idx], typeof o.v[idx])
17935
+
17936
+ isNum = (typeof o.v[idx] === "number") ? true : false;
17937
+
17938
+ break;
17939
+ }
17940
+
17941
+ if (isNum) {
17942
+ for (var i = 0; i < arr.length; i++) {
17943
+ arr[i] = Number(arr[i]);
17944
+ }
17945
+ }
17946
+
17947
+ /** filtering button 용 데이타 */
17948
+ /**
17949
+ filterData.push({
17950
+ "colnm" : key,
17951
+ "data" : arr,
17952
+ }); */
17953
+ //console.log(arr);
17954
+
17955
+
17956
+ //console.log(arr, idx, arr.nineBinarySearch(m.v[idx]));
17957
+
17958
+ this.getValidData().filter(m => { return arr.nineBinarySearch(m.v[idx] || '') < 0; }).map(m => { m.__ng.filtered = true; });
17959
+
17960
+
17961
+ //break;
17962
+
17963
+
17964
+ }
17965
+
17966
+
17967
+ this.refreshFilter();
17968
+
17969
+ var colnms = [];
17970
+ for (let key in jsonFilter) {
17971
+ colnms.push(key);
17972
+ }
17973
+ //var colnms = filterData.map(item => item.colnm);
17974
+
17975
+ ninegrid.querySelectorAll("ng-filter-button").forEach(v => {
17976
+ v.filterData = null;
17977
+ });
17978
+
17979
+ for (let key in jsonFilter) {
17980
+ const arr = jsonFilter[key];
17981
+ this.#parent.owner.fields.indexOf(key);
17982
+
17983
+ //console.log(filterData);
17984
+ ninegrid.querySelectorAll("ng-filter-button").forEach(v => {
17985
+ //v.filterData = null;
17986
+ //console.log(v);
17987
+ //var b = v.colnms;
17988
+ v.colnms.forEach(colnm => {
17989
+
17990
+ console.log(colnms, colnm);
17991
+ if (colnms.includes(colnm)) {
17992
+ console.log("==================");
17993
+
17994
+ v.filterData = arr;
17995
+ }
17996
+ });
17997
+ });
17998
+ }
17999
+
18000
+
18001
+ this.#parent.owner.scrollTo_V1(0);
18002
+
18003
+ this.#parent.owner.paging.reset();
17895
18004
  };
17896
18005
 
18006
+
17897
18007
  #on = () => {
17898
18008
 
18009
+ console.log("onnnnnnn");
18010
+
17899
18011
  this.#isFiltering = true;
17900
18012
 
17901
18013
  var lastRowIndex = 0;
@@ -17926,11 +18038,10 @@ class ngFiltering
17926
18038
  $(".ng-table ng-filter-button", this.#owner.body).remove();
17927
18039
  };
17928
18040
 
17929
- #set = (option) => {
18041
+ #init = (option) => {
17930
18042
 
17931
18043
  let jsonOption = {};
17932
18044
  if (Array.isArray(option)) {
17933
-
17934
18045
  for (let key in option[0]) {
17935
18046
  jsonOption[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
17936
18047
  }
@@ -18308,15 +18419,15 @@ class ngFilterPanel extends HTMLElement
18308
18419
 
18309
18420
  console.log(el.filterData, el.colnms, el.dataset.bind);
18310
18421
 
18311
- //colnms.forEach(colnm => {
18312
- var idx = owner.fields.indexOf(el.colnms[0]);
18422
+ el.colnms.forEach(colnm => {
18423
+ var idx = owner.fields.indexOf(colnm);
18313
18424
 
18314
18425
  console.log(idx);
18315
18426
 
18316
18427
  if (idx >= 0) {
18317
18428
  data = data.filter(m => { return el.filterData.nineBinarySearch(m.v[idx] || '') >= 0; });
18318
18429
  }
18319
- //});
18430
+ });
18320
18431
 
18321
18432
  //data = data.filter(rowData => { return el.filterData.findIndex(item => (item.DATA || '') == (rowData[item.COLNM] || '') ) >= 0; });
18322
18433
  });
@@ -1,5 +1,12 @@
1
1
  import ninegrid from "../index.js";
2
2
 
3
+ /**
4
+ * button.filterDatas = [{
5
+ * colnm: "userId",
6
+ * data: [],
7
+ * }]
8
+ * button.
9
+ */
3
10
  export class ngFiltering
4
11
  {
5
12
  #owner;
@@ -28,11 +35,116 @@ export class ngFiltering
28
35
 
29
36
  this.#on();
30
37
 
31
- if (v) this.#set(v);
38
+ //if (v) this.#init(v);
32
39
  };
33
40
 
41
+ set = (oFilter) => {
42
+
43
+ this.on();
44
+
45
+ let jsonFilter = {};
46
+ if (Array.isArray(oFilter)) {
47
+ for (let key in oFilter[0]) {
48
+ jsonFilter[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
49
+ }
50
+ }
51
+ else {
52
+ jsonFilter = oFilter;
53
+ }
54
+
55
+ //jsonFilter.doc_id = [2, 18, 20, 28, 36, 45, 46, 48, 56, 64, 73, 81, 83, 90];
56
+
57
+ //let filterData = [];
58
+
59
+ console.log("==================", jsonFilter);
60
+
61
+ this.clearFilter();
62
+
63
+ for (let key in jsonFilter) {
64
+ const arr = jsonFilter[key];
65
+ const idx = this.#parent.owner.fields.indexOf(key);
66
+
67
+ let isNum = false;
68
+ for (let o of this.getValidData()) {
69
+ if (o.v[idx] == null) continue;
70
+
71
+ //console.log(o.v[idx], typeof o.v[idx])
72
+
73
+ isNum = (typeof o.v[idx] === "number") ? true : false;
74
+
75
+ break;
76
+ }
77
+
78
+ if (isNum) {
79
+ for (var i = 0; i < arr.length; i++) {
80
+ arr[i] = Number(arr[i]);
81
+ }
82
+ }
83
+
84
+ /** filtering button 용 데이타 */
85
+ /**
86
+ filterData.push({
87
+ "colnm" : key,
88
+ "data" : arr,
89
+ }); */
90
+ //console.log(arr);
91
+
92
+
93
+ //console.log(arr, idx, arr.nineBinarySearch(m.v[idx]));
94
+
95
+ this.getValidData().filter(m => { return arr.nineBinarySearch(m.v[idx] || '') < 0; }).map(m => { m.__ng.filtered = true; });
96
+
97
+
98
+ //break;
99
+
100
+
101
+ }
102
+
103
+
104
+ this.refreshFilter();
105
+
106
+ var colnms = [];
107
+ for (let key in jsonFilter) {
108
+ colnms.push(key);
109
+ }
110
+ //var colnms = filterData.map(item => item.colnm);
111
+
112
+ ninegrid.querySelectorAll("ng-filter-button").forEach(v => {
113
+ v.filterData = null;
114
+ });
115
+
116
+ for (let key in jsonFilter) {
117
+ const arr = jsonFilter[key];
118
+ const idx = this.#parent.owner.fields.indexOf(key);
119
+
120
+ //console.log(filterData);
121
+ ninegrid.querySelectorAll("ng-filter-button").forEach(v => {
122
+ //v.filterData = null;
123
+ //console.log(v);
124
+ //var b = v.colnms;
125
+ v.colnms.forEach(colnm => {
126
+
127
+ console.log(colnms, colnm);
128
+ if (colnms.includes(colnm)) {
129
+ console.log("==================");
130
+
131
+ v.filterData = arr;
132
+ }
133
+ });
134
+ });
135
+ }
136
+
137
+
138
+ this.#parent.owner.scrollTo_V1(0);
139
+
140
+ this.#parent.owner.paging.reset();
141
+ };
142
+
143
+
34
144
  #on = () => {
35
145
 
146
+ console.log("onnnnnnn");
147
+
36
148
  this.#isFiltering = true;
37
149
 
38
150
  var lastRowIndex = 0;
@@ -63,11 +175,10 @@ export class ngFiltering
63
175
  $(".ng-table ng-filter-button", this.#owner.body).remove();
64
176
  };
65
177
 
66
- #set = (option) => {
178
+ #init = (option) => {
67
179
 
68
180
  let jsonOption = {};
69
181
  if (Array.isArray(option)) {
70
-
71
182
  for (let key in option[0]) {
72
183
  jsonOption[key] = Array.from(new Set(oFilter.map(item => item[key])));//oFilter.map(item => item[key]);
73
184
  }
@@ -447,15 +558,15 @@ class ngFilterPanel extends HTMLElement
447
558
 
448
559
  console.log(el.filterData, el.colnms, el.dataset.bind);
449
560
 
450
- //colnms.forEach(colnm => {
451
- var idx = owner.fields.indexOf(el.colnms[0]);
561
+ el.colnms.forEach(colnm => {
562
+ var idx = owner.fields.indexOf(colnm);
452
563
 
453
564
  console.log(idx);
454
565
 
455
566
  if (idx >= 0) {
456
567
  data = data.filter(m => { return el.filterData.nineBinarySearch(m.v[idx] || '') >= 0; });
457
568
  }
458
- //});
569
+ });
459
570
 
460
571
  //data = data.filter(rowData => { return el.filterData.findIndex(item => (item.DATA || '') == (rowData[item.COLNM] || '') ) >= 0; });
461
572
  });