ninegrid2 6.642.0 → 6.643.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.
@@ -193074,6 +193074,8 @@ customElements.define("nx-ai-container", aiContainer);
193074
193074
 
193075
193075
  class ideAssi extends HTMLElement
193076
193076
  {
193077
+ #ing = false;
193078
+
193077
193079
  constructor() {
193078
193080
  super();
193079
193081
  this.attachShadow({ mode: 'open' });
@@ -193119,11 +193121,44 @@ class ideAssi extends HTMLElement
193119
193121
  #init = (info) => {
193120
193122
 
193121
193123
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
193124
+
193125
+ this.shadowRoot.querySelector(".expand-icon").addEventListener("click", this.#toggleCollapseHandler);
193126
+ this.shadowRoot.querySelector(".collapse-icon").addEventListener("click", this.#toggleCollapseHandler);
193127
+
193128
+ //this.shadowRoot.querySelectorAll(".menu-icon").forEach(el => el.addEventListener("click", this.#menuClickHandler));
193122
193129
  };
193123
193130
 
193124
193131
  #keydownHandler = async (e) => {
193125
193132
  if (e.key !== "Enter") return;
193133
+
193134
+ e.preventDefault();
193135
+
193136
+ const question = e.target.value.trim();
193137
+ if (!question) return;
193138
+
193139
+ if (this.#ing) return;
193140
+ this.#ing = true;
193141
+
193142
+ /**
193143
+ * setTimeout 없으면, 맥에서 한글 잔상이 남음
193144
+ * setTimeout 내에서 e.target이 nx-ai-container가 된다.
193145
+ */
193146
+ setTimeout(() => {
193147
+ this.shadowRoot.querySelector("textarea").value = "";
193148
+ });
193149
+
193150
+ const elAiChat = this.shadowRoot.querySelector("nx-ai-chat");
193151
+
193152
+ elAiChat.add("me", question);
193153
+ elAiChat.add("ing", question);
193154
+
193155
+
193156
+ this.#ing = false;
193126
193157
  }
193158
+
193159
+ #toggleCollapseHandler = () => {
193160
+ this.classList.toggle("collapse");
193161
+ };
193127
193162
  }
193128
193163
 
193129
193164
  customElements.define("nx-ide-assi", ideAssi);
@@ -193070,6 +193070,8 @@ customElements.define("nx-ai-container", aiContainer);
193070
193070
 
193071
193071
  class ideAssi extends HTMLElement
193072
193072
  {
193073
+ #ing = false;
193074
+
193073
193075
  constructor() {
193074
193076
  super();
193075
193077
  this.attachShadow({ mode: 'open' });
@@ -193115,11 +193117,44 @@ class ideAssi extends HTMLElement
193115
193117
  #init = (info) => {
193116
193118
 
193117
193119
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
193120
+
193121
+ this.shadowRoot.querySelector(".expand-icon").addEventListener("click", this.#toggleCollapseHandler);
193122
+ this.shadowRoot.querySelector(".collapse-icon").addEventListener("click", this.#toggleCollapseHandler);
193123
+
193124
+ //this.shadowRoot.querySelectorAll(".menu-icon").forEach(el => el.addEventListener("click", this.#menuClickHandler));
193118
193125
  };
193119
193126
 
193120
193127
  #keydownHandler = async (e) => {
193121
193128
  if (e.key !== "Enter") return;
193129
+
193130
+ e.preventDefault();
193131
+
193132
+ const question = e.target.value.trim();
193133
+ if (!question) return;
193134
+
193135
+ if (this.#ing) return;
193136
+ this.#ing = true;
193137
+
193138
+ /**
193139
+ * setTimeout 없으면, 맥에서 한글 잔상이 남음
193140
+ * setTimeout 내에서 e.target이 nx-ai-container가 된다.
193141
+ */
193142
+ setTimeout(() => {
193143
+ this.shadowRoot.querySelector("textarea").value = "";
193144
+ });
193145
+
193146
+ const elAiChat = this.shadowRoot.querySelector("nx-ai-chat");
193147
+
193148
+ elAiChat.add("me", question);
193149
+ elAiChat.add("ing", question);
193150
+
193151
+
193152
+ this.#ing = false;
193122
193153
  }
193154
+
193155
+ #toggleCollapseHandler = () => {
193156
+ this.classList.toggle("collapse");
193157
+ };
193123
193158
  }
193124
193159
 
193125
193160
  customElements.define("nx-ide-assi", ideAssi);
@@ -10,6 +10,8 @@ import { PromptTemplate} from "@langchain/core/prompts"
10
10
 
11
11
  class ideAssi extends HTMLElement
12
12
  {
13
+ #ing = false;
14
+
13
15
  constructor() {
14
16
  super();
15
17
  this.attachShadow({ mode: 'open' });
@@ -55,11 +57,51 @@ class ideAssi extends HTMLElement
55
57
  #init = (info) => {
56
58
 
57
59
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
60
+
61
+ this.shadowRoot.querySelector(".expand-icon").addEventListener("click", this.#toggleCollapseHandler);
62
+ this.shadowRoot.querySelector(".collapse-icon").addEventListener("click", this.#toggleCollapseHandler);
63
+
64
+ //this.shadowRoot.querySelectorAll(".menu-icon").forEach(el => el.addEventListener("click", this.#menuClickHandler));
58
65
  };
59
66
 
60
67
  #keydownHandler = async (e) => {
61
68
  if (e.key !== "Enter") return;
69
+
70
+ e.preventDefault();
71
+
72
+ const question = e.target.value.trim();
73
+ if (!question) return;
74
+
75
+ if (this.#ing) return;
76
+ this.#ing = true;
77
+
78
+ /**
79
+ * setTimeout 없으면, 맥에서 한글 잔상이 남음
80
+ * setTimeout 내에서 e.target이 nx-ai-container가 된다.
81
+ */
82
+ setTimeout(() => {
83
+ this.shadowRoot.querySelector("textarea").value = "";
84
+ });
85
+
86
+ const elAiChat = this.shadowRoot.querySelector("nx-ai-chat");
87
+
88
+ elAiChat.add("me", question);
89
+ elAiChat.add("ing", question);
90
+
91
+ try {
92
+ //
93
+ } catch (error) {
94
+ console.error(error);
95
+ //elAiChat.add("ai", error);
96
+ }
97
+
98
+
99
+ this.#ing = false;
62
100
  }
101
+
102
+ #toggleCollapseHandler = () => {
103
+ this.classList.toggle("collapse");
104
+ };
63
105
  }
64
106
 
65
107
  customElements.define("nx-ide-assi", ideAssi);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ninegrid2",
3
3
  "type": "module",
4
- "version": "6.642.0",
4
+ "version": "6.643.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -10,6 +10,8 @@ import { PromptTemplate} from "@langchain/core/prompts"
10
10
 
11
11
  class ideAssi extends HTMLElement
12
12
  {
13
+ #ing = false;
14
+
13
15
  constructor() {
14
16
  super();
15
17
  this.attachShadow({ mode: 'open' });
@@ -55,11 +57,51 @@ class ideAssi extends HTMLElement
55
57
  #init = (info) => {
56
58
 
57
59
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
60
+
61
+ this.shadowRoot.querySelector(".expand-icon").addEventListener("click", this.#toggleCollapseHandler);
62
+ this.shadowRoot.querySelector(".collapse-icon").addEventListener("click", this.#toggleCollapseHandler);
63
+
64
+ //this.shadowRoot.querySelectorAll(".menu-icon").forEach(el => el.addEventListener("click", this.#menuClickHandler));
58
65
  };
59
66
 
60
67
  #keydownHandler = async (e) => {
61
68
  if (e.key !== "Enter") return;
69
+
70
+ e.preventDefault();
71
+
72
+ const question = e.target.value.trim();
73
+ if (!question) return;
74
+
75
+ if (this.#ing) return;
76
+ this.#ing = true;
77
+
78
+ /**
79
+ * setTimeout 없으면, 맥에서 한글 잔상이 남음
80
+ * setTimeout 내에서 e.target이 nx-ai-container가 된다.
81
+ */
82
+ setTimeout(() => {
83
+ this.shadowRoot.querySelector("textarea").value = "";
84
+ });
85
+
86
+ const elAiChat = this.shadowRoot.querySelector("nx-ai-chat");
87
+
88
+ elAiChat.add("me", question);
89
+ elAiChat.add("ing", question);
90
+
91
+ try {
92
+ //
93
+ } catch (error) {
94
+ console.error(error);
95
+ //elAiChat.add("ai", error);
96
+ }
97
+
98
+
99
+ this.#ing = false;
62
100
  }
101
+
102
+ #toggleCollapseHandler = () => {
103
+ this.classList.toggle("collapse");
104
+ };
63
105
  }
64
106
 
65
107
  customElements.define("nx-ide-assi", ideAssi);