@nine-lab/nine-mu 0.1.285 β 0.1.287
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 -30
- 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 -40
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.287",
|
|
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,16 +95,17 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
/**
|
|
98
|
-
* π‘ [
|
|
99
|
-
* λ€μ΄μ¨ λ°μ΄ν° κ°μμ μ νν λ§μΆμ΄ λ°νμμ ν νμ΄μ§μ μλν°λ₯Ό μΌλμΌ λ§€νμΌλ‘ μ§μ 쑰립ν©λλ€.
|
|
98
|
+
* π‘ [μ μ λ°μ΄ν° μμ μ°λ μμ§]
|
|
100
99
|
* @param {Array} fileList - [{ layer: "MyBatis", full_path: "...", asis_source: "...", source: "..." }]
|
|
101
100
|
*/
|
|
102
101
|
async data(fileList) {
|
|
103
102
|
if (!Array.isArray(fileList) || fileList.length === 0) return this;
|
|
104
103
|
this.#fileList = fileList;
|
|
105
104
|
|
|
106
|
-
// 1. π§Ό
|
|
107
|
-
this.#tabContainer.
|
|
105
|
+
// 1. π§Ό nine-tab λ΄λΆμ ꡬμΆλ μΌκ΄ μ ν APIλ₯Ό νΈμΆνμ¬ κΈ°μ‘΄ λ²νΌ μμ 리μ
(React κ°μ DOM μΆ©λ μ°¨λ¨)
|
|
106
|
+
if (this.#tabContainer && typeof this.#tabContainer.clearTabs === 'function') {
|
|
107
|
+
this.#tabContainer.clearTabs();
|
|
108
|
+
}
|
|
108
109
|
|
|
109
110
|
// νμ₯μ κΈ°λ° μ£Όμ/μΈμ΄ μ μΆ ν¬νΌ
|
|
110
111
|
const detectLanguage = (path) => {
|
|
@@ -115,64 +116,53 @@ export class NineDiffPopup extends HTMLElement {
|
|
|
115
116
|
return 'javascript';
|
|
116
117
|
};
|
|
117
118
|
|
|
118
|
-
// 2. β‘
|
|
119
|
+
// 2. β‘ λ°±μλ 쑰립 μλ£ λ°μ΄ν°λ₯Ό μννλ©° μ μΈμ μ£Όμ
κΈ°λ
|
|
119
120
|
fileList.forEach((file) => {
|
|
120
|
-
const { layer, full_path } = file;
|
|
121
|
-
const lang = detectLanguage(full_path);
|
|
121
|
+
const { layer, full_path, asis_source, source } = file;
|
|
122
122
|
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);
|
|
123
|
+
const captionName = `${layer.toUpperCase()} (${fileName})`;
|
|
128
124
|
|
|
129
|
-
//
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
diffView.className = layer; // μ: class="MyBatis" λλ class="JavaScript"
|
|
125
|
+
// λ΄λΆ λνΌμ μλν° λΌλ λ§ν¬μ
μ€λΉ
|
|
126
|
+
const targetHtmlContent = `
|
|
127
|
+
<div class="diff-wrapper">
|
|
128
|
+
<nine-diff class="${layer}"></nine-diff>
|
|
129
|
+
</div>
|
|
130
|
+
`;
|
|
136
131
|
|
|
137
|
-
//
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
132
|
+
// 3. π nine-tab νμ₯ μΈν°νμ΄μ€λ₯Ό νΈμΆνμ¬ νμ€ Light DOM νΈλ¦¬μ μμ νκ² νμ¬
|
|
133
|
+
if (this.#tabContainer && typeof this.#tabContainer.addTabPage === 'function') {
|
|
134
|
+
this.#tabContainer.addTabPage(captionName, targetHtmlContent);
|
|
135
|
+
}
|
|
141
136
|
});
|
|
142
137
|
|
|
143
|
-
//
|
|
138
|
+
// 4. Ⱐ쑰립 리λΉλκ° λλ ν, μλμ° λ λ΄μ λ°μΈλ© μλ£λ κ° μλν° μ₯μΉλ€μ μμ μμ€μ½λ μ£Όμ
μ€ν
|
|
139
|
+
// (addTabPage λ΄λΆμμ refresh()μ initialize()κ° λκΈ° λλ¬Έμ λΆλλ½κ² λμ λνν©λλ€)
|
|
144
140
|
setTimeout(() => {
|
|
145
141
|
fileList.forEach((file) => {
|
|
146
|
-
const { layer, asis_source, source } = file;
|
|
147
|
-
const diff = this.shadowRoot.querySelector(`nine-diff.${layer}`);
|
|
142
|
+
const { layer, full_path, asis_source, source } = file;
|
|
143
|
+
const diff = this.shadowRoot.querySelector(`nine-tab`).shadowRoot.querySelector(`nine-diff.${layer}`);
|
|
148
144
|
|
|
149
145
|
if (diff) {
|
|
150
|
-
const lang = detectLanguage(
|
|
151
|
-
// ν보λ μ€μ μλν° λ²νΌ μ₯μΉμ μμ€μ½λ κ°μ λ°μΈλ© μ΄κΈ°ν
|
|
146
|
+
const lang = detectLanguage(full_path);
|
|
152
147
|
diff.initialize(asis_source || "", source || "", lang);
|
|
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
|
+
}, 50); // μμ λ§μ΄νΈλ₯Ό μν μ΅μνμ ν± λλ μ΄μ§ λ§μ§λ§ μ μ§
|
|
161
151
|
|
|
162
152
|
return this;
|
|
163
153
|
}
|
|
164
154
|
|
|
165
155
|
/**
|
|
166
|
-
* π‘ [μΌκ΄ 물리
|
|
156
|
+
* π‘ [μΌκ΄ 물리 νμΌ λΌμ΄ν
]
|
|
167
157
|
*/
|
|
168
158
|
async #handleConfirmAll() {
|
|
169
159
|
const payloadList = [];
|
|
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μ Shadow DOM λ΄λΆμ μΊ‘μνλμ΄ λ λλ§λ μλν° μΈμ€ν΄μ€ νκ² μ
λ ν
μΆμ
|
|
165
|
+
const diff = this.shadowRoot.querySelector(`nine-tab`).shadowRoot.querySelector(`nine-diff.${layer}`);
|
|
176
166
|
const currentContent = diff ? diff.getContents() : asis_source;
|
|
177
167
|
|
|
178
168
|
payloadList.push({
|