ninegrid2 6.394.0 → 6.396.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.
@@ -62,11 +62,12 @@ class aiMessage extends HTMLElement
62
62
  this.shadowRoot.querySelector(".more a").addEventListener("click", () => {
63
63
  alert(this.#message);
64
64
  });
65
-
65
+
66
66
  setTimeout(() => {
67
67
  const elMore = this.shadowRoot.querySelector(".more");
68
68
 
69
- if (ninegrid.isEllipsis(this.shadowRoot.querySelector(".message"))) {
69
+ //if (ninegrid.isEllipsis(this.shadowRoot.querySelector(".message"))) {
70
+ if (this.#message.length > 50) {
70
71
  elMore.style.display = "flex";
71
72
  elMore.style.position = "absolute";
72
73
  }
@@ -89,15 +89,28 @@ class aiSettings extends HTMLElement
89
89
 
90
90
  <div class="line">
91
91
  <label for="server">Server:</label>
92
- <label><input name="server" type="radio" value="openai" checked>Open AI</label>
92
+ <label><input name="server" type="radio" value="gemini" checked>Gemini</label>
93
+ <label><input name="server" type="radio" value="openai">Open AI</label>
93
94
  <label><input name="server" type="radio" value="ollama">Ollama</label>
94
95
  </div>
96
+ <div class="line gemini">
97
+ <label>API Key: <input id="geminiApiKey" value="${this.geminiApiKey}"/></label>
98
+ </div>
95
99
  <div class="line openai">
96
100
  <label>API Key: <input id="openaiApiKey" value="${this.openaiApiKey}"/></label>
97
101
  </div>
98
102
  <div class="line ollama">
99
103
  <label>Url: <input id="ollamaUrl" value="${this.ollamaUrl}"/></label>
100
104
  </div>
105
+ <div class="line gemini">
106
+ <label>
107
+ Model:
108
+ <select id="geminiModel">
109
+ <option value="gemini">gemini</option>
110
+ <option value="gemini-pro">gemini-pro</option>
111
+ </select>
112
+ </label>
113
+ </div>
101
114
  <div class="line openai">
102
115
  <label>
103
116
  Model:
@@ -135,7 +148,7 @@ class aiSettings extends HTMLElement
135
148
  radio.addEventListener("change", () => {
136
149
  const server = this.shadowRoot.querySelector('input[name="server"]:checked').value;
137
150
 
138
- ["openai","ollama"].forEach(v => {
151
+ ["gemini","openai","ollama"].forEach(v => {
139
152
  this.shadowRoot.querySelectorAll('.' + v).forEach((elem) => {
140
153
  elem.style.display = (server === v) ? "flex" : "none";
141
154
  });
@@ -143,7 +156,7 @@ class aiSettings extends HTMLElement
143
156
  });
144
157
  });
145
158
 
146
- this.shadowRoot.querySelectorAll('#ollamaModel,#openaiModel,input[name="server"]').forEach(el => {
159
+ this.shadowRoot.querySelectorAll('#geminiModel,#ollamaModel,#openaiModel,input[name="server"]').forEach(el => {
147
160
  //console.log(el);
148
161
  el.addEventListener("change", e => {
149
162
  //console.log(e);
@@ -11158,7 +11158,7 @@ class ninegrid {
11158
11158
  document.body.appendChild(clone);
11159
11159
 
11160
11160
  console.log(clone, element);
11161
- console.log(clone.scrollWidth, element.clientWidth);
11161
+ console.log(clone.scrollWidth, element.clientWidth, clone.scrollHeight, element.clientHeight);
11162
11162
 
11163
11163
  const isTruncated = clone.scrollWidth > element.clientWidth || clone.scrollHeight > element.clientHeight;
11164
11164
  //document.body.removeChild(clone);
@@ -27278,15 +27278,28 @@ class aiSettings extends HTMLElement
27278
27278
 
27279
27279
  <div class="line">
27280
27280
  <label for="server">Server:</label>
27281
- <label><input name="server" type="radio" value="openai" checked>Open AI</label>
27281
+ <label><input name="server" type="radio" value="gemini" checked>Gemini</label>
27282
+ <label><input name="server" type="radio" value="openai">Open AI</label>
27282
27283
  <label><input name="server" type="radio" value="ollama">Ollama</label>
27283
27284
  </div>
27285
+ <div class="line gemini">
27286
+ <label>API Key: <input id="geminiApiKey" value="${this.geminiApiKey}"/></label>
27287
+ </div>
27284
27288
  <div class="line openai">
27285
27289
  <label>API Key: <input id="openaiApiKey" value="${this.openaiApiKey}"/></label>
27286
27290
  </div>
27287
27291
  <div class="line ollama">
27288
27292
  <label>Url: <input id="ollamaUrl" value="${this.ollamaUrl}"/></label>
27289
27293
  </div>
27294
+ <div class="line gemini">
27295
+ <label>
27296
+ Model:
27297
+ <select id="geminiModel">
27298
+ <option value="gemini">gemini</option>
27299
+ <option value="gemini-pro">gemini-pro</option>
27300
+ </select>
27301
+ </label>
27302
+ </div>
27290
27303
  <div class="line openai">
27291
27304
  <label>
27292
27305
  Model:
@@ -27324,7 +27337,7 @@ class aiSettings extends HTMLElement
27324
27337
  radio.addEventListener("change", () => {
27325
27338
  const server = this.shadowRoot.querySelector('input[name="server"]:checked').value;
27326
27339
 
27327
- ["openai","ollama"].forEach(v => {
27340
+ ["gemini","openai","ollama"].forEach(v => {
27328
27341
  this.shadowRoot.querySelectorAll('.' + v).forEach((elem) => {
27329
27342
  elem.style.display = (server === v) ? "flex" : "none";
27330
27343
  });
@@ -27332,7 +27345,7 @@ class aiSettings extends HTMLElement
27332
27345
  });
27333
27346
  });
27334
27347
 
27335
- this.shadowRoot.querySelectorAll('#ollamaModel,#openaiModel,input[name="server"]').forEach(el => {
27348
+ this.shadowRoot.querySelectorAll('#geminiModel,#ollamaModel,#openaiModel,input[name="server"]').forEach(el => {
27336
27349
  //console.log(el);
27337
27350
  el.addEventListener("change", e => {
27338
27351
  //console.log(e);
@@ -27408,11 +27421,12 @@ class aiMessage extends HTMLElement
27408
27421
  this.shadowRoot.querySelector(".more a").addEventListener("click", () => {
27409
27422
  alert(this.#message);
27410
27423
  });
27411
-
27424
+
27412
27425
  setTimeout(() => {
27413
27426
  const elMore = this.shadowRoot.querySelector(".more");
27414
27427
 
27415
- if (ninegrid.isEllipsis(this.shadowRoot.querySelector(".message"))) {
27428
+ //if (ninegrid.isEllipsis(this.shadowRoot.querySelector(".message"))) {
27429
+ if (this.#message.length > 50) {
27416
27430
  elMore.style.display = "flex";
27417
27431
  elMore.style.position = "absolute";
27418
27432
  }
@@ -11156,7 +11156,7 @@ class ninegrid {
11156
11156
  document.body.appendChild(clone);
11157
11157
 
11158
11158
  console.log(clone, element);
11159
- console.log(clone.scrollWidth, element.clientWidth);
11159
+ console.log(clone.scrollWidth, element.clientWidth, clone.scrollHeight, element.clientHeight);
11160
11160
 
11161
11161
  const isTruncated = clone.scrollWidth > element.clientWidth || clone.scrollHeight > element.clientHeight;
11162
11162
  //document.body.removeChild(clone);
@@ -27276,15 +27276,28 @@ class aiSettings extends HTMLElement
27276
27276
 
27277
27277
  <div class="line">
27278
27278
  <label for="server">Server:</label>
27279
- <label><input name="server" type="radio" value="openai" checked>Open AI</label>
27279
+ <label><input name="server" type="radio" value="gemini" checked>Gemini</label>
27280
+ <label><input name="server" type="radio" value="openai">Open AI</label>
27280
27281
  <label><input name="server" type="radio" value="ollama">Ollama</label>
27281
27282
  </div>
27283
+ <div class="line gemini">
27284
+ <label>API Key: <input id="geminiApiKey" value="${this.geminiApiKey}"/></label>
27285
+ </div>
27282
27286
  <div class="line openai">
27283
27287
  <label>API Key: <input id="openaiApiKey" value="${this.openaiApiKey}"/></label>
27284
27288
  </div>
27285
27289
  <div class="line ollama">
27286
27290
  <label>Url: <input id="ollamaUrl" value="${this.ollamaUrl}"/></label>
27287
27291
  </div>
27292
+ <div class="line gemini">
27293
+ <label>
27294
+ Model:
27295
+ <select id="geminiModel">
27296
+ <option value="gemini">gemini</option>
27297
+ <option value="gemini-pro">gemini-pro</option>
27298
+ </select>
27299
+ </label>
27300
+ </div>
27288
27301
  <div class="line openai">
27289
27302
  <label>
27290
27303
  Model:
@@ -27322,7 +27335,7 @@ class aiSettings extends HTMLElement
27322
27335
  radio.addEventListener("change", () => {
27323
27336
  const server = this.shadowRoot.querySelector('input[name="server"]:checked').value;
27324
27337
 
27325
- ["openai","ollama"].forEach(v => {
27338
+ ["gemini","openai","ollama"].forEach(v => {
27326
27339
  this.shadowRoot.querySelectorAll('.' + v).forEach((elem) => {
27327
27340
  elem.style.display = (server === v) ? "flex" : "none";
27328
27341
  });
@@ -27330,7 +27343,7 @@ class aiSettings extends HTMLElement
27330
27343
  });
27331
27344
  });
27332
27345
 
27333
- this.shadowRoot.querySelectorAll('#ollamaModel,#openaiModel,input[name="server"]').forEach(el => {
27346
+ this.shadowRoot.querySelectorAll('#geminiModel,#ollamaModel,#openaiModel,input[name="server"]').forEach(el => {
27334
27347
  //console.log(el);
27335
27348
  el.addEventListener("change", e => {
27336
27349
  //console.log(e);
@@ -27406,11 +27419,12 @@ class aiMessage extends HTMLElement
27406
27419
  this.shadowRoot.querySelector(".more a").addEventListener("click", () => {
27407
27420
  alert(this.#message);
27408
27421
  });
27409
-
27422
+
27410
27423
  setTimeout(() => {
27411
27424
  const elMore = this.shadowRoot.querySelector(".more");
27412
27425
 
27413
- if (ninegrid.isEllipsis(this.shadowRoot.querySelector(".message"))) {
27426
+ //if (ninegrid.isEllipsis(this.shadowRoot.querySelector(".message"))) {
27427
+ if (this.#message.length > 50) {
27414
27428
  elMore.style.display = "flex";
27415
27429
  elMore.style.position = "absolute";
27416
27430
  }
@@ -346,7 +346,7 @@ export class ninegrid {
346
346
  document.body.appendChild(clone);
347
347
 
348
348
  console.log(clone, element);
349
- console.log(clone.scrollWidth, element.clientWidth);
349
+ console.log(clone.scrollWidth, element.clientWidth, clone.scrollHeight, element.clientHeight);
350
350
 
351
351
  const isTruncated = clone.scrollWidth > element.clientWidth || clone.scrollHeight > element.clientHeight;
352
352
  //document.body.removeChild(clone);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ninegrid2",
3
3
  "type": "module",
4
- "version": "6.394.0",
4
+ "version": "6.396.0",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
7
7
  "import": "./dist/index.js",
@@ -62,11 +62,12 @@ class aiMessage extends HTMLElement
62
62
  this.shadowRoot.querySelector(".more a").addEventListener("click", () => {
63
63
  alert(this.#message);
64
64
  });
65
-
65
+
66
66
  setTimeout(() => {
67
67
  const elMore = this.shadowRoot.querySelector(".more");
68
68
 
69
- if (ninegrid.isEllipsis(this.shadowRoot.querySelector(".message"))) {
69
+ //if (ninegrid.isEllipsis(this.shadowRoot.querySelector(".message"))) {
70
+ if (this.#message.length > 50) {
70
71
  elMore.style.display = "flex";
71
72
  elMore.style.position = "absolute";
72
73
  }
@@ -89,15 +89,28 @@ class aiSettings extends HTMLElement
89
89
 
90
90
  <div class="line">
91
91
  <label for="server">Server:</label>
92
- <label><input name="server" type="radio" value="openai" checked>Open AI</label>
92
+ <label><input name="server" type="radio" value="gemini" checked>Gemini</label>
93
+ <label><input name="server" type="radio" value="openai">Open AI</label>
93
94
  <label><input name="server" type="radio" value="ollama">Ollama</label>
94
95
  </div>
96
+ <div class="line gemini">
97
+ <label>API Key: <input id="geminiApiKey" value="${this.geminiApiKey}"/></label>
98
+ </div>
95
99
  <div class="line openai">
96
100
  <label>API Key: <input id="openaiApiKey" value="${this.openaiApiKey}"/></label>
97
101
  </div>
98
102
  <div class="line ollama">
99
103
  <label>Url: <input id="ollamaUrl" value="${this.ollamaUrl}"/></label>
100
104
  </div>
105
+ <div class="line gemini">
106
+ <label>
107
+ Model:
108
+ <select id="geminiModel">
109
+ <option value="gemini">gemini</option>
110
+ <option value="gemini-pro">gemini-pro</option>
111
+ </select>
112
+ </label>
113
+ </div>
101
114
  <div class="line openai">
102
115
  <label>
103
116
  Model:
@@ -135,7 +148,7 @@ class aiSettings extends HTMLElement
135
148
  radio.addEventListener("change", () => {
136
149
  const server = this.shadowRoot.querySelector('input[name="server"]:checked').value;
137
150
 
138
- ["openai","ollama"].forEach(v => {
151
+ ["gemini","openai","ollama"].forEach(v => {
139
152
  this.shadowRoot.querySelectorAll('.' + v).forEach((elem) => {
140
153
  elem.style.display = (server === v) ? "flex" : "none";
141
154
  });
@@ -143,7 +156,7 @@ class aiSettings extends HTMLElement
143
156
  });
144
157
  });
145
158
 
146
- this.shadowRoot.querySelectorAll('#ollamaModel,#openaiModel,input[name="server"]').forEach(el => {
159
+ this.shadowRoot.querySelectorAll('#geminiModel,#ollamaModel,#openaiModel,input[name="server"]').forEach(el => {
147
160
  //console.log(el);
148
161
  el.addEventListener("change", e => {
149
162
  //console.log(e);
@@ -346,7 +346,7 @@ export class ninegrid {
346
346
  document.body.appendChild(clone);
347
347
 
348
348
  console.log(clone, element);
349
- console.log(clone.scrollWidth, element.clientWidth);
349
+ console.log(clone.scrollWidth, element.clientWidth, clone.scrollHeight, element.clientHeight);
350
350
 
351
351
  const isTruncated = clone.scrollWidth > element.clientWidth || clone.scrollHeight > element.clientHeight;
352
352
  //document.body.removeChild(clone);