ide-assi 0.289.0 → 0.290.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.
@@ -194023,9 +194023,25 @@ class IdeAssi extends HTMLElement
194023
194023
  this.config = await api.post("/api/config/get");
194024
194024
  };
194025
194025
 
194026
+ #loadLocalSettings = () => {
194027
+ const keys = ["mybatis", "service", "controller", "javascript"];
194028
+ keys.forEach(key => {
194029
+ const value = localStorage.getItem(`ide-assi-${key}`) === "true";
194030
+ this.shadowRoot.querySelector(`#${key}`).checked = value;
194031
+ });
194032
+ };
194033
+
194034
+ #saveLocalSettings = (apply) => {
194035
+ Object.entries(apply).forEach(([key, value]) => {
194036
+ localStorage.setItem(`ide-assi-${key}`, String(value));
194037
+ });
194038
+ };
194039
+
194026
194040
  #init = (info) => {
194027
194041
  this.#config();
194028
194042
 
194043
+ this.#loadLocalSettings();
194044
+
194029
194045
  this.settings = this.shadowRoot.querySelector("ide-assi-settings");
194030
194046
 
194031
194047
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
@@ -194048,12 +194064,14 @@ class IdeAssi extends HTMLElement
194048
194064
 
194049
194065
  e.preventDefault();
194050
194066
 
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;
194067
+ const apply = {
194068
+ mybatis: this.shadowRoot.querySelector("#mybatis").checked,
194069
+ service: this.shadowRoot.querySelector("#service").checked,
194070
+ controller: this.shadowRoot.querySelector("#controller").checked,
194071
+ javascript: this.shadowRoot.querySelector("#javascript").checked,
194072
+ };
194055
194073
 
194056
- if (!mybatis && !service && !controller && !javascript) return;
194074
+ if (!apply.mybatis && !apply.service && !apply.controller && !apply.javascript) return;
194057
194075
 
194058
194076
  const userPrompt = e.target.value.trim();
194059
194077
  if (!userPrompt) return;
@@ -194061,6 +194079,13 @@ class IdeAssi extends HTMLElement
194061
194079
  if (this.#ing) return;
194062
194080
  this.#ing = true;
194063
194081
 
194082
+ /**
194083
+ * 옵션저장
194084
+ */
194085
+ this.#saveLocalSettings(apply);
194086
+
194087
+
194088
+
194064
194089
  /**
194065
194090
  * setTimeout 없으면, 맥에서 한글 잔상이 남음
194066
194091
  * setTimeout 내에서 e.target이 nx-ai-container가 된다.
@@ -194075,12 +194100,7 @@ class IdeAssi extends HTMLElement
194075
194100
  elAiChat.add("ing", "...");
194076
194101
 
194077
194102
  try {
194078
- const r = await this.#ai.generateSourceClient(userPrompt, {
194079
- mybatis: mybatis,
194080
- service: service,
194081
- controller: controller,
194082
- javascript: javascript,
194083
- });
194103
+ const r = await this.#ai.generateSourceClient(userPrompt, apply);
194084
194104
  elAiChat.add("ai", r);
194085
194105
  } catch (error) {
194086
194106
  console.error(error);
@@ -194019,9 +194019,25 @@ class IdeAssi extends HTMLElement
194019
194019
  this.config = await api.post("/api/config/get");
194020
194020
  };
194021
194021
 
194022
+ #loadLocalSettings = () => {
194023
+ const keys = ["mybatis", "service", "controller", "javascript"];
194024
+ keys.forEach(key => {
194025
+ const value = localStorage.getItem(`ide-assi-${key}`) === "true";
194026
+ this.shadowRoot.querySelector(`#${key}`).checked = value;
194027
+ });
194028
+ };
194029
+
194030
+ #saveLocalSettings = (apply) => {
194031
+ Object.entries(apply).forEach(([key, value]) => {
194032
+ localStorage.setItem(`ide-assi-${key}`, String(value));
194033
+ });
194034
+ };
194035
+
194022
194036
  #init = (info) => {
194023
194037
  this.#config();
194024
194038
 
194039
+ this.#loadLocalSettings();
194040
+
194025
194041
  this.settings = this.shadowRoot.querySelector("ide-assi-settings");
194026
194042
 
194027
194043
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
@@ -194044,12 +194060,14 @@ class IdeAssi extends HTMLElement
194044
194060
 
194045
194061
  e.preventDefault();
194046
194062
 
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;
194063
+ const apply = {
194064
+ mybatis: this.shadowRoot.querySelector("#mybatis").checked,
194065
+ service: this.shadowRoot.querySelector("#service").checked,
194066
+ controller: this.shadowRoot.querySelector("#controller").checked,
194067
+ javascript: this.shadowRoot.querySelector("#javascript").checked,
194068
+ };
194051
194069
 
194052
- if (!mybatis && !service && !controller && !javascript) return;
194070
+ if (!apply.mybatis && !apply.service && !apply.controller && !apply.javascript) return;
194053
194071
 
194054
194072
  const userPrompt = e.target.value.trim();
194055
194073
  if (!userPrompt) return;
@@ -194057,6 +194075,13 @@ class IdeAssi extends HTMLElement
194057
194075
  if (this.#ing) return;
194058
194076
  this.#ing = true;
194059
194077
 
194078
+ /**
194079
+ * 옵션저장
194080
+ */
194081
+ this.#saveLocalSettings(apply);
194082
+
194083
+
194084
+
194060
194085
  /**
194061
194086
  * setTimeout 없으면, 맥에서 한글 잔상이 남음
194062
194087
  * setTimeout 내에서 e.target이 nx-ai-container가 된다.
@@ -194071,12 +194096,7 @@ class IdeAssi extends HTMLElement
194071
194096
  elAiChat.add("ing", "...");
194072
194097
 
194073
194098
  try {
194074
- const r = await this.#ai.generateSourceClient(userPrompt, {
194075
- mybatis: mybatis,
194076
- service: service,
194077
- controller: controller,
194078
- javascript: javascript,
194079
- });
194099
+ const r = await this.#ai.generateSourceClient(userPrompt, apply);
194080
194100
  elAiChat.add("ai", r);
194081
194101
  } catch (error) {
194082
194102
  console.error(error);
@@ -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.290.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -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);