@nine-lab/nine-mu 0.1.286 β 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 +26 -29
- 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 +2 -2
- package/src/components/NineDiffPopup.js +30 -41
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nine-lab/nine-mu",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.288",
|
|
4
4
|
"description": "AI-Driven Full-Stack Code Fabrication Engine",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/nine-mu.umd.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@nine-lab/nine-ai": "*",
|
|
25
25
|
"@nine-lab/nine-nomenu": "*",
|
|
26
26
|
"@nine-lab/nine-util": "^0.9.126",
|
|
27
|
-
"@nine-lab/nine-ux": "
|
|
27
|
+
"@nine-lab/nine-ux": "^0.1.243",
|
|
28
28
|
"terser": "^5.31.0",
|
|
29
29
|
"vite": "^6.0.0"
|
|
30
30
|
},
|
|
@@ -19,7 +19,7 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
* π‘ κΈ°λ³Έ λ€μ΄μΌλ‘κ·Έ μΈκ³½
|
|
22
|
+
* π‘ κΈ°λ³Έ λ€μ΄μΌλ‘κ·Έ μΈκ³½ νλ μ λ° μ€νμΌ μ€μΌν΄λ© λ λλ§
|
|
23
23
|
*/
|
|
24
24
|
#renderScaffolding() {
|
|
25
25
|
const customImport = this.getAttribute("css-path") ? `@import "${this.getAttribute("css-path")}";` : "";
|
|
@@ -49,9 +49,9 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
49
49
|
flex-direction: column;
|
|
50
50
|
height: 100%;
|
|
51
51
|
}
|
|
52
|
-
/* π‘
|
|
52
|
+
/* π‘ μλν° μμμ κ°μμ± λ° λλΉ/λμ΄ νκ³μ κ³ μ */
|
|
53
53
|
.diff-wrapper {
|
|
54
|
-
height: calc(80vh -
|
|
54
|
+
height: calc(80vh - 160px);
|
|
55
55
|
width: 100%;
|
|
56
56
|
display: block;
|
|
57
57
|
}
|
|
@@ -95,18 +95,17 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
/**
|
|
98
|
-
* π‘ [
|
|
99
|
-
* λ€μ΄μ¨ λ°μ΄ν° κ°μμ μ νν λ§μΆμ΄ λ°νμμ ν νμ΄μ§μ μλν°λ₯Ό μΌλμΌ λ§€νμΌλ‘ μ§μ 쑰립ν©λλ€.
|
|
100
|
-
* @param {Array} fileList - [{ layer: "MyBatis", full_path: "...", asis_source: "...", source: "..." }]
|
|
98
|
+
* π‘ [μ μ λ°μ΄ν° μμ μ°λ μμ§]
|
|
101
99
|
*/
|
|
102
100
|
async data(fileList) {
|
|
103
101
|
if (!Array.isArray(fileList) || fileList.length === 0) return this;
|
|
104
102
|
this.#fileList = fileList;
|
|
105
103
|
|
|
106
|
-
// 1. π§Ό
|
|
107
|
-
this.#tabContainer.
|
|
104
|
+
// 1. π§Ό κΈ°μ‘΄ λμ λ²νΌ μμ 리μ
|
|
105
|
+
if (this.#tabContainer && typeof this.#tabContainer.clearTabs === 'function') {
|
|
106
|
+
this.#tabContainer.clearTabs();
|
|
107
|
+
}
|
|
108
108
|
|
|
109
|
-
// νμ₯μ κΈ°λ° μ£Όμ/μΈμ΄ μ μΆ ν¬νΌ
|
|
110
109
|
const detectLanguage = (path) => {
|
|
111
110
|
const lower = (path || "").toLowerCase();
|
|
112
111
|
if (lower.endsWith('.xml')) return 'xml';
|
|
@@ -115,49 +114,40 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
115
114
|
return 'javascript';
|
|
116
115
|
};
|
|
117
116
|
|
|
118
|
-
// 2. β‘
|
|
117
|
+
// 2. β‘ λ°±μλ 쑰립 λ°μ΄ν°λ₯Ό μννλ©° ν μ€μΌν΄λ© λΉλ
|
|
119
118
|
fileList.forEach((file) => {
|
|
120
119
|
const { layer, full_path } = file;
|
|
121
|
-
const lang = detectLanguage(full_path);
|
|
122
120
|
const fileName = full_path.split('/').pop() || "Unknown";
|
|
123
|
-
const captionName = `${layer.toUpperCase()} (${fileName})`;
|
|
124
|
-
|
|
125
|
-
// A. <nine-tab-page> λ°νμ μΈμ€ν΄μ±
|
|
126
|
-
const tabPage = document.createElement('nine-tab-page');
|
|
127
|
-
tabPage.setAttribute('caption', captionName);
|
|
128
|
-
|
|
129
|
-
// B. λμ΄ μ μ€ λ°©μ΄μ© λνΌ μμ±
|
|
130
|
-
const diffWrapper = document.createElement('div');
|
|
131
|
-
diffWrapper.className = 'diff-wrapper';
|
|
121
|
+
const captionName = `${layer.toUpperCase()} (${fileName})`;
|
|
132
122
|
|
|
133
|
-
//
|
|
134
|
-
const
|
|
135
|
-
|
|
123
|
+
// π‘ ν λ΄λΆμ μ£Όμ
λ μλν° λΌλ λ§ν¬μ
μ€λΉ
|
|
124
|
+
const targetHtmlContent = `
|
|
125
|
+
<div class="diff-wrapper">
|
|
126
|
+
<nine-diff class="${layer}"></nine-diff>
|
|
127
|
+
</div>
|
|
128
|
+
`;
|
|
136
129
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
this.#tabContainer.appendChild(tabPage);
|
|
130
|
+
if (this.#tabContainer && typeof this.#tabContainer.addTabPage === 'function') {
|
|
131
|
+
this.#tabContainer.addTabPage(captionName, targetHtmlContent);
|
|
132
|
+
}
|
|
141
133
|
});
|
|
142
134
|
|
|
143
|
-
// 3. β°
|
|
135
|
+
// 3. β° [ν΅μ¬ μμ ]: λ§μ΄νΈ μλ£ ν, nine-tabμ Shadow DOM λ΄λΆλ‘ κΉμμ΄ νκ³ λ€μ΄ μλν°λ₯Ό μ
λ ν
ν©λλ€.
|
|
144
136
|
setTimeout(() => {
|
|
145
137
|
fileList.forEach((file) => {
|
|
146
|
-
const { layer, asis_source, source } = file;
|
|
147
|
-
|
|
138
|
+
const { layer, full_path, asis_source, source } = file;
|
|
139
|
+
|
|
140
|
+
// π― λ³κ²½ ν¬μΈνΈ: λ λλ§ κ²°κ³Όλ¬Όμ nine-tab μ»΄ν¬λνΈ λ΄λΆ μλμ° λ£¨νΈ μμ μμ°©ν΄ μμ΅λλ€!
|
|
141
|
+
const diff = this.#tabContainer.shadowRoot.querySelector(`nine-diff.${layer}`);
|
|
148
142
|
|
|
149
143
|
if (diff) {
|
|
150
|
-
const lang = detectLanguage(
|
|
151
|
-
// ν보λ μ€μ μλν° λ²νΌ μ₯μΉμ μμ€μ½λ κ°μ λ°μΈλ© μ΄κΈ°ν
|
|
144
|
+
const lang = detectLanguage(full_path);
|
|
152
145
|
diff.initialize(asis_source || "", source || "", lang);
|
|
146
|
+
} else {
|
|
147
|
+
trace.error(`β μλν° νμ μ€ν¨: nine-diff.${layer}`);
|
|
153
148
|
}
|
|
154
149
|
});
|
|
155
|
-
|
|
156
|
-
// E. λ°μ΄ν° μ£Όμ
μ΄ λͺ¨λ μλ²½ν λλ μμ μ nine-tab μ»΄ν¬λνΈμ κ°μ λΉλ μμ§ νΈλ¦¬κ±°!
|
|
157
|
-
if (this.#tabContainer && typeof this.#tabContainer.initialize === 'function') {
|
|
158
|
-
this.#tabContainer.initialize();
|
|
159
|
-
}
|
|
160
|
-
}, 150); // 150msμ λ§μ§ νμ μ μ©
|
|
150
|
+
}, 150); // λ νΈλνΉ μμ μ±μ μν΄ λ§μ§ ν보
|
|
161
151
|
|
|
162
152
|
return this;
|
|
163
153
|
}
|
|
@@ -170,9 +160,9 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
170
160
|
|
|
171
161
|
for (const file of this.#fileList) {
|
|
172
162
|
const { layer, full_path, asis_source } = file;
|
|
173
|
-
// κ° λ μ΄μ΄ ν΄λμ€λ‘ μ§μ ν΄ λ λμ μλν°λ₯Ό μννλ©° ν
μ€νΈ μΊ‘μ²
|
|
174
|
-
const diff = this.shadowRoot.querySelector(`nine-diff.${layer}`);
|
|
175
163
|
|
|
164
|
+
// π― λ³κ²½ ν¬μΈνΈ: μ μ₯ μμ μλ nine-tabμ shadowRootλ₯Ό κ²½μ νμ¬ μ΅μ’
μμ λ³Έ μμ€λ₯Ό μΊ‘μ²ν©λλ€.
|
|
165
|
+
const diff = this.#tabContainer.shadowRoot.querySelector(`nine-diff.${layer}`);
|
|
176
166
|
const currentContent = diff ? diff.getContents() : asis_source;
|
|
177
167
|
|
|
178
168
|
payloadList.push({
|
|
@@ -185,7 +175,6 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
185
175
|
|
|
186
176
|
try {
|
|
187
177
|
await api.post(`/nine-mu/source/generateJsonFileBatch`, { fileList: payloadList });
|
|
188
|
-
|
|
189
178
|
await nine.alert("μμ²νμ λͺ¨λ νμΌμ μμ€ λ³κ²½ μ¬νμ΄ μ±κ³΅μ μΌλ‘ λ°μλμμ΅λλ€.");
|
|
190
179
|
this.#dialog.close();
|
|
191
180
|
} catch (error) {
|