ninegrid2 6.1386.0 → 6.1387.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.
@@ -28501,48 +28501,85 @@ class nxDiv extends HTMLElement {
28501
28501
  return jsonData;
28502
28502
  };
28503
28503
 
28504
- // [공통 로직 1] 특정 요소에 값을 쓰거나 초기화하는 핵심 함수
28505
- #updateElement(el, value) {
28506
- const tagName = el.tagName.toUpperCase();
28507
- const type = el.type;
28508
- let isChanged = false;
28509
-
28510
- if (["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"].includes(tagName)) {
28511
- if (type === "checkbox") {
28512
- const t = el.getAttribute("true-value") || "Y";
28513
- const isChecked = (String(t) === String(value));
28514
- if (el.checked !== isChecked) isChanged = true;
28515
- el.checked = isChecked;
28516
- } else if (type === "radio") {
28517
- const isChecked = (String(el.value) === String(value));
28518
- if (el.checked !== isChecked) isChanged = true;
28519
- el.checked = isChecked;
28504
+ clearData = (jsonData) => {
28505
+ this.#getElements().forEach(el => {
28506
+ el.removeEventListener("input", this.#changeHandler);
28507
+ el.addEventListener("input", this.#changeHandler);
28508
+ });
28509
+
28510
+ //if (!jsonData || typeof jsonData !== 'object') return;
28511
+
28512
+ //let bChanged = false;
28513
+ this.#getElements().forEach(el => {
28514
+ const key = el.name;
28515
+ //console.log(el.tagName, key, el.name);
28516
+
28517
+ const value = jsonData[key] || "";
28518
+ const inputTags = ["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"];
28519
+
28520
+ if (inputTags.includes(el.tagName)) {
28521
+ if (el.type === "checkbox") {
28522
+ let t = el.getAttribute("true-value") || "Y";
28523
+ const isChecked = (t === String(value));
28524
+
28525
+ el.checked = isChecked;
28526
+ } else if (el.type === "radio") {
28527
+ el.value = value;
28528
+ } else {
28529
+ el.value = value;
28530
+ }
28520
28531
  } else {
28521
- if (el.value !== value) isChanged = true;
28522
- el.value = value;
28532
+ el.textContent = value;
28523
28533
  }
28524
- } else {
28525
- if (el.textContent !== value) isChanged = true;
28526
- el.textContent = value;
28527
- }
28528
- return isChanged;
28529
- }
28534
+ });
28535
+ this.#changed(false);
28536
+ };
28530
28537
 
28531
- // 파라미터가 있으면 해당 값으로, 없으면 전체 공백 초기화
28532
28538
  setData = (jsonData) => {
28539
+ this.#getElements().forEach(el => {
28540
+ el.removeEventListener("input", this.#changeHandler);
28541
+ el.addEventListener("input", this.#changeHandler);
28542
+ });
28543
+
28533
28544
  if (!jsonData || typeof jsonData !== 'object') return;
28534
- this.#refreshListeners();
28535
28545
 
28536
28546
  let bChanged = false;
28537
28547
  this.#getElements().forEach(el => {
28538
28548
  const key = el.name;
28549
+ //console.log(el.tagName, key, el.name);
28550
+
28539
28551
  if (!key || !jsonData.hasOwnProperty(key)) return;
28540
28552
 
28541
- if (this.#updateElement(el, jsonData[key])) {
28542
- bChanged = true;
28553
+ const value = jsonData[key];
28554
+ const inputTags = ["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"];
28555
+
28556
+ if (inputTags.includes(el.tagName)) {
28557
+ if (el.type === "checkbox") {
28558
+ let t = el.getAttribute("true-value") || "Y";
28559
+ el.getAttribute("false-value") || "N";
28560
+ const isChecked = (t === String(value));
28561
+ if (el.checked !== isChecked) bChanged = true;
28562
+ el.checked = isChecked;
28563
+ } else if (el.type === "radio") {
28564
+ const isChecked = (String(el.value) === String(value));
28565
+ if (el.checked !== isChecked) bChanged = true;
28566
+ el.checked = value;
28567
+ } else {
28568
+ if (el.value !== value) bChanged = true;
28569
+ el.value = value;
28570
+ }
28571
+ } else {
28572
+ if (el.textContent !== value) bChanged = true;
28573
+ el.textContent = value;
28543
28574
  }
28544
28575
  });
28545
- if (bChanged) this.#changed(true);
28576
+ if (bChanged) this.#changed(bChanged);
28577
+ };
28578
+
28579
+ clearData = (bChanged) => {
28580
+
28581
+
28582
+ this.#changed(false);
28546
28583
  };
28547
28584
 
28548
28585
  initData = (jsonData) => {
@@ -28497,48 +28497,85 @@ class nxDiv extends HTMLElement {
28497
28497
  return jsonData;
28498
28498
  };
28499
28499
 
28500
- // [공통 로직 1] 특정 요소에 값을 쓰거나 초기화하는 핵심 함수
28501
- #updateElement(el, value) {
28502
- const tagName = el.tagName.toUpperCase();
28503
- const type = el.type;
28504
- let isChanged = false;
28505
-
28506
- if (["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"].includes(tagName)) {
28507
- if (type === "checkbox") {
28508
- const t = el.getAttribute("true-value") || "Y";
28509
- const isChecked = (String(t) === String(value));
28510
- if (el.checked !== isChecked) isChanged = true;
28511
- el.checked = isChecked;
28512
- } else if (type === "radio") {
28513
- const isChecked = (String(el.value) === String(value));
28514
- if (el.checked !== isChecked) isChanged = true;
28515
- el.checked = isChecked;
28500
+ clearData = (jsonData) => {
28501
+ this.#getElements().forEach(el => {
28502
+ el.removeEventListener("input", this.#changeHandler);
28503
+ el.addEventListener("input", this.#changeHandler);
28504
+ });
28505
+
28506
+ //if (!jsonData || typeof jsonData !== 'object') return;
28507
+
28508
+ //let bChanged = false;
28509
+ this.#getElements().forEach(el => {
28510
+ const key = el.name;
28511
+ //console.log(el.tagName, key, el.name);
28512
+
28513
+ const value = jsonData[key] || "";
28514
+ const inputTags = ["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"];
28515
+
28516
+ if (inputTags.includes(el.tagName)) {
28517
+ if (el.type === "checkbox") {
28518
+ let t = el.getAttribute("true-value") || "Y";
28519
+ const isChecked = (t === String(value));
28520
+
28521
+ el.checked = isChecked;
28522
+ } else if (el.type === "radio") {
28523
+ el.value = value;
28524
+ } else {
28525
+ el.value = value;
28526
+ }
28516
28527
  } else {
28517
- if (el.value !== value) isChanged = true;
28518
- el.value = value;
28528
+ el.textContent = value;
28519
28529
  }
28520
- } else {
28521
- if (el.textContent !== value) isChanged = true;
28522
- el.textContent = value;
28523
- }
28524
- return isChanged;
28525
- }
28530
+ });
28531
+ this.#changed(false);
28532
+ };
28526
28533
 
28527
- // 파라미터가 있으면 해당 값으로, 없으면 전체 공백 초기화
28528
28534
  setData = (jsonData) => {
28535
+ this.#getElements().forEach(el => {
28536
+ el.removeEventListener("input", this.#changeHandler);
28537
+ el.addEventListener("input", this.#changeHandler);
28538
+ });
28539
+
28529
28540
  if (!jsonData || typeof jsonData !== 'object') return;
28530
- this.#refreshListeners();
28531
28541
 
28532
28542
  let bChanged = false;
28533
28543
  this.#getElements().forEach(el => {
28534
28544
  const key = el.name;
28545
+ //console.log(el.tagName, key, el.name);
28546
+
28535
28547
  if (!key || !jsonData.hasOwnProperty(key)) return;
28536
28548
 
28537
- if (this.#updateElement(el, jsonData[key])) {
28538
- bChanged = true;
28549
+ const value = jsonData[key];
28550
+ const inputTags = ["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"];
28551
+
28552
+ if (inputTags.includes(el.tagName)) {
28553
+ if (el.type === "checkbox") {
28554
+ let t = el.getAttribute("true-value") || "Y";
28555
+ el.getAttribute("false-value") || "N";
28556
+ const isChecked = (t === String(value));
28557
+ if (el.checked !== isChecked) bChanged = true;
28558
+ el.checked = isChecked;
28559
+ } else if (el.type === "radio") {
28560
+ const isChecked = (String(el.value) === String(value));
28561
+ if (el.checked !== isChecked) bChanged = true;
28562
+ el.checked = value;
28563
+ } else {
28564
+ if (el.value !== value) bChanged = true;
28565
+ el.value = value;
28566
+ }
28567
+ } else {
28568
+ if (el.textContent !== value) bChanged = true;
28569
+ el.textContent = value;
28539
28570
  }
28540
28571
  });
28541
- if (bChanged) this.#changed(true);
28572
+ if (bChanged) this.#changed(bChanged);
28573
+ };
28574
+
28575
+ clearData = (bChanged) => {
28576
+
28577
+
28578
+ this.#changed(false);
28542
28579
  };
28543
28580
 
28544
28581
  initData = (jsonData) => {
package/dist/nx/_nxDiv.js CHANGED
@@ -68,48 +68,85 @@ export class nxDiv extends HTMLElement {
68
68
  return jsonData;
69
69
  };
70
70
 
71
- // [공통 로직 1] 특정 요소에 값을 쓰거나 초기화하는 핵심 함수
72
- #updateElement(el, value) {
73
- const tagName = el.tagName.toUpperCase();
74
- const type = el.type;
75
- let isChanged = false;
76
-
77
- if (["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"].includes(tagName)) {
78
- if (type === "checkbox") {
79
- const t = el.getAttribute("true-value") || "Y";
80
- const isChecked = (String(t) === String(value));
81
- if (el.checked !== isChecked) isChanged = true;
82
- el.checked = isChecked;
83
- } else if (type === "radio") {
84
- const isChecked = (String(el.value) === String(value));
85
- if (el.checked !== isChecked) isChanged = true;
86
- el.checked = isChecked;
71
+ clearData = (jsonData) => {
72
+ this.#getElements().forEach(el => {
73
+ el.removeEventListener("input", this.#changeHandler);
74
+ el.addEventListener("input", this.#changeHandler);
75
+ });
76
+
77
+ //if (!jsonData || typeof jsonData !== 'object') return;
78
+
79
+ //let bChanged = false;
80
+ this.#getElements().forEach(el => {
81
+ const key = el.name;
82
+ //console.log(el.tagName, key, el.name);
83
+
84
+ const value = jsonData[key] || "";
85
+ const inputTags = ["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"];
86
+
87
+ if (inputTags.includes(el.tagName)) {
88
+ if (el.type === "checkbox") {
89
+ let t = el.getAttribute("true-value") || "Y";
90
+ const isChecked = (t === String(value));
91
+
92
+ el.checked = isChecked;
93
+ } else if (el.type === "radio") {
94
+ el.value = value;
95
+ } else {
96
+ el.value = value;
97
+ }
87
98
  } else {
88
- if (el.value !== value) isChanged = true;
89
- el.value = value;
99
+ el.textContent = value;
90
100
  }
91
- } else {
92
- if (el.textContent !== value) isChanged = true;
93
- el.textContent = value;
94
- }
95
- return isChanged;
96
- }
101
+ });
102
+ this.#changed(false);
103
+ };
97
104
 
98
- // 파라미터가 있으면 해당 값으로, 없으면 전체 공백 초기화
99
105
  setData = (jsonData) => {
106
+ this.#getElements().forEach(el => {
107
+ el.removeEventListener("input", this.#changeHandler);
108
+ el.addEventListener("input", this.#changeHandler);
109
+ });
110
+
100
111
  if (!jsonData || typeof jsonData !== 'object') return;
101
- this.#refreshListeners();
102
112
 
103
113
  let bChanged = false;
104
114
  this.#getElements().forEach(el => {
105
115
  const key = el.name;
116
+ //console.log(el.tagName, key, el.name);
117
+
106
118
  if (!key || !jsonData.hasOwnProperty(key)) return;
107
119
 
108
- if (this.#updateElement(el, jsonData[key])) {
109
- bChanged = true;
120
+ const value = jsonData[key];
121
+ const inputTags = ["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"];
122
+
123
+ if (inputTags.includes(el.tagName)) {
124
+ if (el.type === "checkbox") {
125
+ let t = el.getAttribute("true-value") || "Y";
126
+ let f = el.getAttribute("false-value") || "N";
127
+ const isChecked = (t === String(value));
128
+ if (el.checked !== isChecked) bChanged = true;
129
+ el.checked = isChecked;
130
+ } else if (el.type === "radio") {
131
+ const isChecked = (String(el.value) === String(value));
132
+ if (el.checked !== isChecked) bChanged = true;
133
+ el.checked = value;
134
+ } else {
135
+ if (el.value !== value) bChanged = true;
136
+ el.value = value;
137
+ }
138
+ } else {
139
+ if (el.textContent !== value) bChanged = true;
140
+ el.textContent = value;
110
141
  }
111
142
  });
112
- if (bChanged) this.#changed(true);
143
+ if (bChanged) this.#changed(bChanged);
144
+ };
145
+
146
+ clearData = (bChanged) => {
147
+
148
+
149
+ this.#changed(false);
113
150
  };
114
151
 
115
152
  initData = (jsonData) => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ninegrid2",
3
3
  "type": "module",
4
- "version": "6.1386.0",
4
+ "version": "6.1387.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
package/src/nx/_nxDiv.js CHANGED
@@ -68,48 +68,85 @@ export class nxDiv extends HTMLElement {
68
68
  return jsonData;
69
69
  };
70
70
 
71
- // [공통 로직 1] 특정 요소에 값을 쓰거나 초기화하는 핵심 함수
72
- #updateElement(el, value) {
73
- const tagName = el.tagName.toUpperCase();
74
- const type = el.type;
75
- let isChanged = false;
76
-
77
- if (["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"].includes(tagName)) {
78
- if (type === "checkbox") {
79
- const t = el.getAttribute("true-value") || "Y";
80
- const isChecked = (String(t) === String(value));
81
- if (el.checked !== isChecked) isChanged = true;
82
- el.checked = isChecked;
83
- } else if (type === "radio") {
84
- const isChecked = (String(el.value) === String(value));
85
- if (el.checked !== isChecked) isChanged = true;
86
- el.checked = isChecked;
71
+ clearData = (jsonData) => {
72
+ this.#getElements().forEach(el => {
73
+ el.removeEventListener("input", this.#changeHandler);
74
+ el.addEventListener("input", this.#changeHandler);
75
+ });
76
+
77
+ //if (!jsonData || typeof jsonData !== 'object') return;
78
+
79
+ //let bChanged = false;
80
+ this.#getElements().forEach(el => {
81
+ const key = el.name;
82
+ //console.log(el.tagName, key, el.name);
83
+
84
+ const value = jsonData[key] || "";
85
+ const inputTags = ["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"];
86
+
87
+ if (inputTags.includes(el.tagName)) {
88
+ if (el.type === "checkbox") {
89
+ let t = el.getAttribute("true-value") || "Y";
90
+ const isChecked = (t === String(value));
91
+
92
+ el.checked = isChecked;
93
+ } else if (el.type === "radio") {
94
+ el.value = value;
95
+ } else {
96
+ el.value = value;
97
+ }
87
98
  } else {
88
- if (el.value !== value) isChanged = true;
89
- el.value = value;
99
+ el.textContent = value;
90
100
  }
91
- } else {
92
- if (el.textContent !== value) isChanged = true;
93
- el.textContent = value;
94
- }
95
- return isChanged;
96
- }
101
+ });
102
+ this.#changed(false);
103
+ };
97
104
 
98
- // 파라미터가 있으면 해당 값으로, 없으면 전체 공백 초기화
99
105
  setData = (jsonData) => {
106
+ this.#getElements().forEach(el => {
107
+ el.removeEventListener("input", this.#changeHandler);
108
+ el.addEventListener("input", this.#changeHandler);
109
+ });
110
+
100
111
  if (!jsonData || typeof jsonData !== 'object') return;
101
- this.#refreshListeners();
102
112
 
103
113
  let bChanged = false;
104
114
  this.#getElements().forEach(el => {
105
115
  const key = el.name;
116
+ //console.log(el.tagName, key, el.name);
117
+
106
118
  if (!key || !jsonData.hasOwnProperty(key)) return;
107
119
 
108
- if (this.#updateElement(el, jsonData[key])) {
109
- bChanged = true;
120
+ const value = jsonData[key];
121
+ const inputTags = ["INPUT", "TEXTAREA", "SELECT", "NX-EDITOR"];
122
+
123
+ if (inputTags.includes(el.tagName)) {
124
+ if (el.type === "checkbox") {
125
+ let t = el.getAttribute("true-value") || "Y";
126
+ let f = el.getAttribute("false-value") || "N";
127
+ const isChecked = (t === String(value));
128
+ if (el.checked !== isChecked) bChanged = true;
129
+ el.checked = isChecked;
130
+ } else if (el.type === "radio") {
131
+ const isChecked = (String(el.value) === String(value));
132
+ if (el.checked !== isChecked) bChanged = true;
133
+ el.checked = value;
134
+ } else {
135
+ if (el.value !== value) bChanged = true;
136
+ el.value = value;
137
+ }
138
+ } else {
139
+ if (el.textContent !== value) bChanged = true;
140
+ el.textContent = value;
110
141
  }
111
142
  });
112
- if (bChanged) this.#changed(true);
143
+ if (bChanged) this.#changed(bChanged);
144
+ };
145
+
146
+ clearData = (bChanged) => {
147
+
148
+
149
+ this.#changed(false);
113
150
  };
114
151
 
115
152
  initData = (jsonData) => {