ninegrid2 6.1385.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,59 +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;
28520
- } else {
28521
- if (el.value !== value) isChanged = true;
28522
- el.value = value;
28523
- }
28524
- } else {
28525
- if (el.textContent !== value) isChanged = true;
28526
- el.textContent = value;
28527
- }
28528
- return isChanged;
28529
- }
28504
+ clearData = (jsonData) => {
28505
+ this.#getElements().forEach(el => {
28506
+ el.removeEventListener("input", this.#changeHandler);
28507
+ el.addEventListener("input", this.#changeHandler);
28508
+ });
28530
28509
 
28531
- // 파라미터가 있으면 해당 값으로, 없으면 전체 공백 초기화
28532
- clearData = (jsonData = {}) => {
28533
- this.#refreshListeners();
28510
+ //if (!jsonData || typeof jsonData !== 'object') return;
28511
+
28512
+ //let bChanged = false;
28534
28513
  this.#getElements().forEach(el => {
28535
28514
  const key = el.name;
28536
- if (!key) return;
28537
- const val = (jsonData && jsonData[key] !== undefined) ? jsonData[key] : "";
28538
- this.#updateElement(el, val);
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
+ }
28531
+ } else {
28532
+ el.textContent = value;
28533
+ }
28539
28534
  });
28540
28535
  this.#changed(false);
28541
28536
  };
28542
28537
 
28543
28538
  setData = (jsonData) => {
28539
+ this.#getElements().forEach(el => {
28540
+ el.removeEventListener("input", this.#changeHandler);
28541
+ el.addEventListener("input", this.#changeHandler);
28542
+ });
28543
+
28544
28544
  if (!jsonData || typeof jsonData !== 'object') return;
28545
- this.#refreshListeners();
28546
28545
 
28547
28546
  let bChanged = false;
28548
28547
  this.#getElements().forEach(el => {
28549
28548
  const key = el.name;
28549
+ //console.log(el.tagName, key, el.name);
28550
+
28550
28551
  if (!key || !jsonData.hasOwnProperty(key)) return;
28551
28552
 
28552
- if (this.#updateElement(el, jsonData[key])) {
28553
- 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;
28554
28574
  }
28555
28575
  });
28556
- if (bChanged) this.#changed(true);
28576
+ if (bChanged) this.#changed(bChanged);
28577
+ };
28578
+
28579
+ clearData = (bChanged) => {
28580
+
28581
+
28582
+ this.#changed(false);
28557
28583
  };
28558
28584
 
28559
28585
  initData = (jsonData) => {
@@ -28497,59 +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;
28516
- } else {
28517
- if (el.value !== value) isChanged = true;
28518
- el.value = value;
28519
- }
28520
- } else {
28521
- if (el.textContent !== value) isChanged = true;
28522
- el.textContent = value;
28523
- }
28524
- return isChanged;
28525
- }
28500
+ clearData = (jsonData) => {
28501
+ this.#getElements().forEach(el => {
28502
+ el.removeEventListener("input", this.#changeHandler);
28503
+ el.addEventListener("input", this.#changeHandler);
28504
+ });
28526
28505
 
28527
- // 파라미터가 있으면 해당 값으로, 없으면 전체 공백 초기화
28528
- clearData = (jsonData = {}) => {
28529
- this.#refreshListeners();
28506
+ //if (!jsonData || typeof jsonData !== 'object') return;
28507
+
28508
+ //let bChanged = false;
28530
28509
  this.#getElements().forEach(el => {
28531
28510
  const key = el.name;
28532
- if (!key) return;
28533
- const val = (jsonData && jsonData[key] !== undefined) ? jsonData[key] : "";
28534
- this.#updateElement(el, val);
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
+ }
28527
+ } else {
28528
+ el.textContent = value;
28529
+ }
28535
28530
  });
28536
28531
  this.#changed(false);
28537
28532
  };
28538
28533
 
28539
28534
  setData = (jsonData) => {
28535
+ this.#getElements().forEach(el => {
28536
+ el.removeEventListener("input", this.#changeHandler);
28537
+ el.addEventListener("input", this.#changeHandler);
28538
+ });
28539
+
28540
28540
  if (!jsonData || typeof jsonData !== 'object') return;
28541
- this.#refreshListeners();
28542
28541
 
28543
28542
  let bChanged = false;
28544
28543
  this.#getElements().forEach(el => {
28545
28544
  const key = el.name;
28545
+ //console.log(el.tagName, key, el.name);
28546
+
28546
28547
  if (!key || !jsonData.hasOwnProperty(key)) return;
28547
28548
 
28548
- if (this.#updateElement(el, jsonData[key])) {
28549
- 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;
28550
28570
  }
28551
28571
  });
28552
- if (bChanged) this.#changed(true);
28572
+ if (bChanged) this.#changed(bChanged);
28573
+ };
28574
+
28575
+ clearData = (bChanged) => {
28576
+
28577
+
28578
+ this.#changed(false);
28553
28579
  };
28554
28580
 
28555
28581
  initData = (jsonData) => {
package/dist/nx/_nxDiv.js CHANGED
@@ -68,59 +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;
87
- } else {
88
- if (el.value !== value) isChanged = true;
89
- el.value = value;
90
- }
91
- } else {
92
- if (el.textContent !== value) isChanged = true;
93
- el.textContent = value;
94
- }
95
- return isChanged;
96
- }
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;
97
78
 
98
- // 파라미터가 있으면 해당 값으로, 없으면 전체 공백 초기화
99
- clearData = (jsonData = {}) => {
100
- this.#refreshListeners();
79
+ //let bChanged = false;
101
80
  this.#getElements().forEach(el => {
102
81
  const key = el.name;
103
- if (!key) return;
104
- const val = (jsonData && jsonData[key] !== undefined) ? jsonData[key] : "";
105
- this.#updateElement(el, val);
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
+ }
98
+ } else {
99
+ el.textContent = value;
100
+ }
106
101
  });
107
102
  this.#changed(false);
108
103
  };
109
104
 
110
105
  setData = (jsonData) => {
106
+ this.#getElements().forEach(el => {
107
+ el.removeEventListener("input", this.#changeHandler);
108
+ el.addEventListener("input", this.#changeHandler);
109
+ });
110
+
111
111
  if (!jsonData || typeof jsonData !== 'object') return;
112
- this.#refreshListeners();
113
112
 
114
113
  let bChanged = false;
115
114
  this.#getElements().forEach(el => {
116
115
  const key = el.name;
116
+ //console.log(el.tagName, key, el.name);
117
+
117
118
  if (!key || !jsonData.hasOwnProperty(key)) return;
118
119
 
119
- if (this.#updateElement(el, jsonData[key])) {
120
- 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;
121
141
  }
122
142
  });
123
- if (bChanged) this.#changed(true);
143
+ if (bChanged) this.#changed(bChanged);
144
+ };
145
+
146
+ clearData = (bChanged) => {
147
+
148
+
149
+ this.#changed(false);
124
150
  };
125
151
 
126
152
  initData = (jsonData) => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ninegrid2",
3
3
  "type": "module",
4
- "version": "6.1385.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,59 +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;
87
- } else {
88
- if (el.value !== value) isChanged = true;
89
- el.value = value;
90
- }
91
- } else {
92
- if (el.textContent !== value) isChanged = true;
93
- el.textContent = value;
94
- }
95
- return isChanged;
96
- }
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;
97
78
 
98
- // 파라미터가 있으면 해당 값으로, 없으면 전체 공백 초기화
99
- clearData = (jsonData = {}) => {
100
- this.#refreshListeners();
79
+ //let bChanged = false;
101
80
  this.#getElements().forEach(el => {
102
81
  const key = el.name;
103
- if (!key) return;
104
- const val = (jsonData && jsonData[key] !== undefined) ? jsonData[key] : "";
105
- this.#updateElement(el, val);
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
+ }
98
+ } else {
99
+ el.textContent = value;
100
+ }
106
101
  });
107
102
  this.#changed(false);
108
103
  };
109
104
 
110
105
  setData = (jsonData) => {
106
+ this.#getElements().forEach(el => {
107
+ el.removeEventListener("input", this.#changeHandler);
108
+ el.addEventListener("input", this.#changeHandler);
109
+ });
110
+
111
111
  if (!jsonData || typeof jsonData !== 'object') return;
112
- this.#refreshListeners();
113
112
 
114
113
  let bChanged = false;
115
114
  this.#getElements().forEach(el => {
116
115
  const key = el.name;
116
+ //console.log(el.tagName, key, el.name);
117
+
117
118
  if (!key || !jsonData.hasOwnProperty(key)) return;
118
119
 
119
- if (this.#updateElement(el, jsonData[key])) {
120
- 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;
121
141
  }
122
142
  });
123
- if (bChanged) this.#changed(true);
143
+ if (bChanged) this.#changed(bChanged);
144
+ };
145
+
146
+ clearData = (bChanged) => {
147
+
148
+
149
+ this.#changed(false);
124
150
  };
125
151
 
126
152
  initData = (jsonData) => {