@nine-lab/nine-mu 0.1.287 β 0.1.288
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/nine-mu.js +12 -11
- package/dist/nine-mu.js.map +1 -1
- package/dist/nine-mu.umd.js +1 -1
- package/dist/nine-mu.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/NineDiffPopup.js +15 -16
package/package.json
CHANGED
|
@@ -49,7 +49,7 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
49
49
|
flex-direction: column;
|
|
50
50
|
height: 100%;
|
|
51
51
|
}
|
|
52
|
-
/* π‘
|
|
52
|
+
/* π‘ μλν° μμμ κ°μμ± λ° λλΉ/λμ΄ νκ³μ κ³ μ */
|
|
53
53
|
.diff-wrapper {
|
|
54
54
|
height: calc(80vh - 160px);
|
|
55
55
|
width: 100%;
|
|
@@ -96,18 +96,16 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
96
96
|
|
|
97
97
|
/**
|
|
98
98
|
* π‘ [μ μ λ°μ΄ν° μμ μ°λ μμ§]
|
|
99
|
-
* @param {Array} fileList - [{ layer: "MyBatis", full_path: "...", asis_source: "...", source: "..." }]
|
|
100
99
|
*/
|
|
101
100
|
async data(fileList) {
|
|
102
101
|
if (!Array.isArray(fileList) || fileList.length === 0) return this;
|
|
103
102
|
this.#fileList = fileList;
|
|
104
103
|
|
|
105
|
-
// 1. π§Ό
|
|
104
|
+
// 1. π§Ό κΈ°μ‘΄ λμ λ²νΌ μμ 리μ
|
|
106
105
|
if (this.#tabContainer && typeof this.#tabContainer.clearTabs === 'function') {
|
|
107
106
|
this.#tabContainer.clearTabs();
|
|
108
107
|
}
|
|
109
108
|
|
|
110
|
-
// νμ₯μ κΈ°λ° μ£Όμ/μΈμ΄ μ μΆ ν¬νΌ
|
|
111
109
|
const detectLanguage = (path) => {
|
|
112
110
|
const lower = (path || "").toLowerCase();
|
|
113
111
|
if (lower.endsWith('.xml')) return 'xml';
|
|
@@ -116,44 +114,46 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
116
114
|
return 'javascript';
|
|
117
115
|
};
|
|
118
116
|
|
|
119
|
-
// 2. β‘ λ°±μλ 쑰립
|
|
117
|
+
// 2. β‘ λ°±μλ 쑰립 λ°μ΄ν°λ₯Ό μννλ©° ν μ€μΌν΄λ© λΉλ
|
|
120
118
|
fileList.forEach((file) => {
|
|
121
|
-
const { layer, full_path
|
|
119
|
+
const { layer, full_path } = file;
|
|
122
120
|
const fileName = full_path.split('/').pop() || "Unknown";
|
|
123
121
|
const captionName = `${layer.toUpperCase()} (${fileName})`;
|
|
124
122
|
|
|
125
|
-
//
|
|
123
|
+
// π‘ ν λ΄λΆμ μ£Όμ
λ μλν° λΌλ λ§ν¬μ
μ€λΉ
|
|
126
124
|
const targetHtmlContent = `
|
|
127
125
|
<div class="diff-wrapper">
|
|
128
126
|
<nine-diff class="${layer}"></nine-diff>
|
|
129
127
|
</div>
|
|
130
128
|
`;
|
|
131
129
|
|
|
132
|
-
// 3. π nine-tab νμ₯ μΈν°νμ΄μ€λ₯Ό νΈμΆνμ¬ νμ€ Light DOM νΈλ¦¬μ μμ νκ² νμ¬
|
|
133
130
|
if (this.#tabContainer && typeof this.#tabContainer.addTabPage === 'function') {
|
|
134
131
|
this.#tabContainer.addTabPage(captionName, targetHtmlContent);
|
|
135
132
|
}
|
|
136
133
|
});
|
|
137
134
|
|
|
138
|
-
//
|
|
139
|
-
// (addTabPage λ΄λΆμμ refresh()μ initialize()κ° λκΈ° λλ¬Έμ λΆλλ½κ² λμ λνν©λλ€)
|
|
135
|
+
// 3. β° [ν΅μ¬ μμ ]: λ§μ΄νΈ μλ£ ν, nine-tabμ Shadow DOM λ΄λΆλ‘ κΉμμ΄ νκ³ λ€μ΄ μλν°λ₯Ό μ
λ ν
ν©λλ€.
|
|
140
136
|
setTimeout(() => {
|
|
141
137
|
fileList.forEach((file) => {
|
|
142
138
|
const { layer, full_path, asis_source, source } = file;
|
|
143
|
-
|
|
139
|
+
|
|
140
|
+
// π― λ³κ²½ ν¬μΈνΈ: λ λλ§ κ²°κ³Όλ¬Όμ nine-tab μ»΄ν¬λνΈ λ΄λΆ μλμ° λ£¨νΈ μμ μμ°©ν΄ μμ΅λλ€!
|
|
141
|
+
const diff = this.#tabContainer.shadowRoot.querySelector(`nine-diff.${layer}`);
|
|
144
142
|
|
|
145
143
|
if (diff) {
|
|
146
144
|
const lang = detectLanguage(full_path);
|
|
147
145
|
diff.initialize(asis_source || "", source || "", lang);
|
|
146
|
+
} else {
|
|
147
|
+
trace.error(`β μλν° νμ μ€ν¨: nine-diff.${layer}`);
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
|
-
},
|
|
150
|
+
}, 150); // λ νΈλνΉ μμ μ±μ μν΄ λ§μ§ ν보
|
|
151
151
|
|
|
152
152
|
return this;
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
/**
|
|
156
|
-
* π‘ [μΌκ΄ 물리
|
|
156
|
+
* π‘ [μΌκ΄ 물리 μ μ₯]
|
|
157
157
|
*/
|
|
158
158
|
async #handleConfirmAll() {
|
|
159
159
|
const payloadList = [];
|
|
@@ -161,8 +161,8 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
161
161
|
for (const file of this.#fileList) {
|
|
162
162
|
const { layer, full_path, asis_source } = file;
|
|
163
163
|
|
|
164
|
-
// nine-tabμ
|
|
165
|
-
const diff = this.shadowRoot.querySelector(`nine-
|
|
164
|
+
// π― λ³κ²½ ν¬μΈνΈ: μ μ₯ μμ μλ nine-tabμ shadowRootλ₯Ό κ²½μ νμ¬ μ΅μ’
μμ λ³Έ μμ€λ₯Ό μΊ‘μ²ν©λλ€.
|
|
165
|
+
const diff = this.#tabContainer.shadowRoot.querySelector(`nine-diff.${layer}`);
|
|
166
166
|
const currentContent = diff ? diff.getContents() : asis_source;
|
|
167
167
|
|
|
168
168
|
payloadList.push({
|
|
@@ -175,7 +175,6 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
175
175
|
|
|
176
176
|
try {
|
|
177
177
|
await api.post(`/nine-mu/source/generateJsonFileBatch`, { fileList: payloadList });
|
|
178
|
-
|
|
179
178
|
await nine.alert("μμ²νμ λͺ¨λ νμΌμ μμ€ λ³κ²½ μ¬νμ΄ μ±κ³΅μ μΌλ‘ λ°μλμμ΅λλ€.");
|
|
180
179
|
this.#dialog.close();
|
|
181
180
|
} catch (error) {
|