ide-assi 0.289.0 → 0.291.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.
@@ -193938,7 +193938,8 @@ class IdeAi
193938
193938
  if (!apply.mybatis || !apply.service || !apply.controller || !apply.javascript) {
193939
193939
  return "소스 생성하실려면 변경대상 소스를 모두 선택하세요.";
193940
193940
  }
193941
- await this.#createSource(userPrompt, apply);
193941
+ //await this.#createSource(userPrompt, apply);
193942
+ await this.#modifySource(userPrompt, apply);
193942
193943
  }
193943
193944
  else if (what === "2") {
193944
193945
  await this.#modifySource(userPrompt, apply);
@@ -194023,9 +194024,25 @@ class IdeAssi extends HTMLElement
194023
194024
  this.config = await api.post("/api/config/get");
194024
194025
  };
194025
194026
 
194027
+ #loadLocalSettings = () => {
194028
+ const keys = ["mybatis", "service", "controller", "javascript"];
194029
+ keys.forEach(key => {
194030
+ const value = localStorage.getItem(`ide-assi-${key}`) === "true";
194031
+ this.shadowRoot.querySelector(`#${key}`).checked = value;
194032
+ });
194033
+ };
194034
+
194035
+ #saveLocalSettings = (apply) => {
194036
+ Object.entries(apply).forEach(([key, value]) => {
194037
+ localStorage.setItem(`ide-assi-${key}`, String(value));
194038
+ });
194039
+ };
194040
+
194026
194041
  #init = (info) => {
194027
194042
  this.#config();
194028
194043
 
194044
+ this.#loadLocalSettings();
194045
+
194029
194046
  this.settings = this.shadowRoot.querySelector("ide-assi-settings");
194030
194047
 
194031
194048
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
@@ -194048,12 +194065,14 @@ class IdeAssi extends HTMLElement
194048
194065
 
194049
194066
  e.preventDefault();
194050
194067
 
194051
- const mybatis = this.shadowRoot.querySelector("#mybatis").checked;
194052
- const service = this.shadowRoot.querySelector("#service").checked;
194053
- const controller = this.shadowRoot.querySelector("#controller").checked;
194054
- const javascript = this.shadowRoot.querySelector("#javascript").checked;
194068
+ const apply = {
194069
+ mybatis: this.shadowRoot.querySelector("#mybatis").checked,
194070
+ service: this.shadowRoot.querySelector("#service").checked,
194071
+ controller: this.shadowRoot.querySelector("#controller").checked,
194072
+ javascript: this.shadowRoot.querySelector("#javascript").checked,
194073
+ };
194055
194074
 
194056
- if (!mybatis && !service && !controller && !javascript) return;
194075
+ if (!apply.mybatis && !apply.service && !apply.controller && !apply.javascript) return;
194057
194076
 
194058
194077
  const userPrompt = e.target.value.trim();
194059
194078
  if (!userPrompt) return;
@@ -194061,6 +194080,13 @@ class IdeAssi extends HTMLElement
194061
194080
  if (this.#ing) return;
194062
194081
  this.#ing = true;
194063
194082
 
194083
+ /**
194084
+ * 옵션저장
194085
+ */
194086
+ this.#saveLocalSettings(apply);
194087
+
194088
+
194089
+
194064
194090
  /**
194065
194091
  * setTimeout 없으면, 맥에서 한글 잔상이 남음
194066
194092
  * setTimeout 내에서 e.target이 nx-ai-container가 된다.
@@ -194075,12 +194101,7 @@ class IdeAssi extends HTMLElement
194075
194101
  elAiChat.add("ing", "...");
194076
194102
 
194077
194103
  try {
194078
- const r = await this.#ai.generateSourceClient(userPrompt, {
194079
- mybatis: mybatis,
194080
- service: service,
194081
- controller: controller,
194082
- javascript: javascript,
194083
- });
194104
+ const r = await this.#ai.generateSourceClient(userPrompt, apply);
194084
194105
  elAiChat.add("ai", r);
194085
194106
  } catch (error) {
194086
194107
  console.error(error);
@@ -193934,7 +193934,8 @@ class IdeAi
193934
193934
  if (!apply.mybatis || !apply.service || !apply.controller || !apply.javascript) {
193935
193935
  return "소스 생성하실려면 변경대상 소스를 모두 선택하세요.";
193936
193936
  }
193937
- await this.#createSource(userPrompt, apply);
193937
+ //await this.#createSource(userPrompt, apply);
193938
+ await this.#modifySource(userPrompt, apply);
193938
193939
  }
193939
193940
  else if (what === "2") {
193940
193941
  await this.#modifySource(userPrompt, apply);
@@ -194019,9 +194020,25 @@ class IdeAssi extends HTMLElement
194019
194020
  this.config = await api.post("/api/config/get");
194020
194021
  };
194021
194022
 
194023
+ #loadLocalSettings = () => {
194024
+ const keys = ["mybatis", "service", "controller", "javascript"];
194025
+ keys.forEach(key => {
194026
+ const value = localStorage.getItem(`ide-assi-${key}`) === "true";
194027
+ this.shadowRoot.querySelector(`#${key}`).checked = value;
194028
+ });
194029
+ };
194030
+
194031
+ #saveLocalSettings = (apply) => {
194032
+ Object.entries(apply).forEach(([key, value]) => {
194033
+ localStorage.setItem(`ide-assi-${key}`, String(value));
194034
+ });
194035
+ };
194036
+
194022
194037
  #init = (info) => {
194023
194038
  this.#config();
194024
194039
 
194040
+ this.#loadLocalSettings();
194041
+
194025
194042
  this.settings = this.shadowRoot.querySelector("ide-assi-settings");
194026
194043
 
194027
194044
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
@@ -194044,12 +194061,14 @@ class IdeAssi extends HTMLElement
194044
194061
 
194045
194062
  e.preventDefault();
194046
194063
 
194047
- const mybatis = this.shadowRoot.querySelector("#mybatis").checked;
194048
- const service = this.shadowRoot.querySelector("#service").checked;
194049
- const controller = this.shadowRoot.querySelector("#controller").checked;
194050
- const javascript = this.shadowRoot.querySelector("#javascript").checked;
194064
+ const apply = {
194065
+ mybatis: this.shadowRoot.querySelector("#mybatis").checked,
194066
+ service: this.shadowRoot.querySelector("#service").checked,
194067
+ controller: this.shadowRoot.querySelector("#controller").checked,
194068
+ javascript: this.shadowRoot.querySelector("#javascript").checked,
194069
+ };
194051
194070
 
194052
- if (!mybatis && !service && !controller && !javascript) return;
194071
+ if (!apply.mybatis && !apply.service && !apply.controller && !apply.javascript) return;
194053
194072
 
194054
194073
  const userPrompt = e.target.value.trim();
194055
194074
  if (!userPrompt) return;
@@ -194057,6 +194076,13 @@ class IdeAssi extends HTMLElement
194057
194076
  if (this.#ing) return;
194058
194077
  this.#ing = true;
194059
194078
 
194079
+ /**
194080
+ * 옵션저장
194081
+ */
194082
+ this.#saveLocalSettings(apply);
194083
+
194084
+
194085
+
194060
194086
  /**
194061
194087
  * setTimeout 없으면, 맥에서 한글 잔상이 남음
194062
194088
  * setTimeout 내에서 e.target이 nx-ai-container가 된다.
@@ -194071,12 +194097,7 @@ class IdeAssi extends HTMLElement
194071
194097
  elAiChat.add("ing", "...");
194072
194098
 
194073
194099
  try {
194074
- const r = await this.#ai.generateSourceClient(userPrompt, {
194075
- mybatis: mybatis,
194076
- service: service,
194077
- controller: controller,
194078
- javascript: javascript,
194079
- });
194100
+ const r = await this.#ai.generateSourceClient(userPrompt, apply);
194080
194101
  elAiChat.add("ai", r);
194081
194102
  } catch (error) {
194082
194103
  console.error(error);
@@ -521,7 +521,8 @@ export class IdeAi
521
521
  if (!apply.mybatis || !apply.service || !apply.controller || !apply.javascript) {
522
522
  return "소스 생성하실려면 변경대상 소스를 모두 선택하세요.";
523
523
  }
524
- await this.#createSource(userPrompt, apply);
524
+ //await this.#createSource(userPrompt, apply);
525
+ await this.#modifySource(userPrompt, apply);
525
526
  }
526
527
  else if (what === "2") {
527
528
  await this.#modifySource(userPrompt, apply);
@@ -77,9 +77,25 @@ export class IdeAssi extends HTMLElement
77
77
  this.config = await api.post("/api/config/get");
78
78
  };
79
79
 
80
+ #loadLocalSettings = () => {
81
+ const keys = ["mybatis", "service", "controller", "javascript"];
82
+ keys.forEach(key => {
83
+ const value = localStorage.getItem(`ide-assi-${key}`) === "true";
84
+ this.shadowRoot.querySelector(`#${key}`).checked = value;
85
+ });
86
+ };
87
+
88
+ #saveLocalSettings = (apply) => {
89
+ Object.entries(apply).forEach(([key, value]) => {
90
+ localStorage.setItem(`ide-assi-${key}`, String(value));
91
+ });
92
+ };
93
+
80
94
  #init = (info) => {
81
95
  this.#config();
82
96
 
97
+ this.#loadLocalSettings();
98
+
83
99
  this.settings = this.shadowRoot.querySelector("ide-assi-settings");
84
100
 
85
101
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
@@ -102,12 +118,14 @@ export class IdeAssi extends HTMLElement
102
118
 
103
119
  e.preventDefault();
104
120
 
105
- const mybatis = this.shadowRoot.querySelector("#mybatis").checked;
106
- const service = this.shadowRoot.querySelector("#service").checked;
107
- const controller = this.shadowRoot.querySelector("#controller").checked;
108
- const javascript = this.shadowRoot.querySelector("#javascript").checked;
121
+ const apply = {
122
+ mybatis: this.shadowRoot.querySelector("#mybatis").checked,
123
+ service: this.shadowRoot.querySelector("#service").checked,
124
+ controller: this.shadowRoot.querySelector("#controller").checked,
125
+ javascript: this.shadowRoot.querySelector("#javascript").checked,
126
+ }
109
127
 
110
- if (!mybatis && !service && !controller && !javascript) return;
128
+ if (!apply.mybatis && !apply.service && !apply.controller && !apply.javascript) return;
111
129
 
112
130
  const userPrompt = e.target.value.trim();
113
131
  if (!userPrompt) return;
@@ -115,6 +133,13 @@ export class IdeAssi extends HTMLElement
115
133
  if (this.#ing) return;
116
134
  this.#ing = true;
117
135
 
136
+ /**
137
+ * 옵션저장
138
+ */
139
+ this.#saveLocalSettings(apply);
140
+
141
+
142
+
118
143
  /**
119
144
  * setTimeout 없으면, 맥에서 한글 잔상이 남음
120
145
  * setTimeout 내에서 e.target이 nx-ai-container가 된다.
@@ -129,12 +154,7 @@ export class IdeAssi extends HTMLElement
129
154
  elAiChat.add("ing", "...");
130
155
 
131
156
  try {
132
- const r = await this.#ai.generateSourceClient(userPrompt, {
133
- mybatis: mybatis,
134
- service: service,
135
- controller: controller,
136
- javascript: javascript,
137
- });
157
+ const r = await this.#ai.generateSourceClient(userPrompt, apply);
138
158
  elAiChat.add("ai", r);
139
159
  } catch (error) {
140
160
  console.error(error);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ide-assi",
3
3
  "type": "module",
4
- "version": "0.289.0",
4
+ "version": "0.291.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -521,7 +521,8 @@ export class IdeAi
521
521
  if (!apply.mybatis || !apply.service || !apply.controller || !apply.javascript) {
522
522
  return "소스 생성하실려면 변경대상 소스를 모두 선택하세요.";
523
523
  }
524
- await this.#createSource(userPrompt, apply);
524
+ //await this.#createSource(userPrompt, apply);
525
+ await this.#modifySource(userPrompt, apply);
525
526
  }
526
527
  else if (what === "2") {
527
528
  await this.#modifySource(userPrompt, apply);
@@ -77,9 +77,25 @@ export class IdeAssi extends HTMLElement
77
77
  this.config = await api.post("/api/config/get");
78
78
  };
79
79
 
80
+ #loadLocalSettings = () => {
81
+ const keys = ["mybatis", "service", "controller", "javascript"];
82
+ keys.forEach(key => {
83
+ const value = localStorage.getItem(`ide-assi-${key}`) === "true";
84
+ this.shadowRoot.querySelector(`#${key}`).checked = value;
85
+ });
86
+ };
87
+
88
+ #saveLocalSettings = (apply) => {
89
+ Object.entries(apply).forEach(([key, value]) => {
90
+ localStorage.setItem(`ide-assi-${key}`, String(value));
91
+ });
92
+ };
93
+
80
94
  #init = (info) => {
81
95
  this.#config();
82
96
 
97
+ this.#loadLocalSettings();
98
+
83
99
  this.settings = this.shadowRoot.querySelector("ide-assi-settings");
84
100
 
85
101
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
@@ -102,12 +118,14 @@ export class IdeAssi extends HTMLElement
102
118
 
103
119
  e.preventDefault();
104
120
 
105
- const mybatis = this.shadowRoot.querySelector("#mybatis").checked;
106
- const service = this.shadowRoot.querySelector("#service").checked;
107
- const controller = this.shadowRoot.querySelector("#controller").checked;
108
- const javascript = this.shadowRoot.querySelector("#javascript").checked;
121
+ const apply = {
122
+ mybatis: this.shadowRoot.querySelector("#mybatis").checked,
123
+ service: this.shadowRoot.querySelector("#service").checked,
124
+ controller: this.shadowRoot.querySelector("#controller").checked,
125
+ javascript: this.shadowRoot.querySelector("#javascript").checked,
126
+ }
109
127
 
110
- if (!mybatis && !service && !controller && !javascript) return;
128
+ if (!apply.mybatis && !apply.service && !apply.controller && !apply.javascript) return;
111
129
 
112
130
  const userPrompt = e.target.value.trim();
113
131
  if (!userPrompt) return;
@@ -115,6 +133,13 @@ export class IdeAssi extends HTMLElement
115
133
  if (this.#ing) return;
116
134
  this.#ing = true;
117
135
 
136
+ /**
137
+ * 옵션저장
138
+ */
139
+ this.#saveLocalSettings(apply);
140
+
141
+
142
+
118
143
  /**
119
144
  * setTimeout 없으면, 맥에서 한글 잔상이 남음
120
145
  * setTimeout 내에서 e.target이 nx-ai-container가 된다.
@@ -129,12 +154,7 @@ export class IdeAssi extends HTMLElement
129
154
  elAiChat.add("ing", "...");
130
155
 
131
156
  try {
132
- const r = await this.#ai.generateSourceClient(userPrompt, {
133
- mybatis: mybatis,
134
- service: service,
135
- controller: controller,
136
- javascript: javascript,
137
- });
157
+ const r = await this.#ai.generateSourceClient(userPrompt, apply);
138
158
  elAiChat.add("ai", r);
139
159
  } catch (error) {
140
160
  console.error(error);