@tekkare/auriga 0.1.0 → 0.1.3

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.
Files changed (36) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/argAdvancedSearchBar.vue +318 -321
  3. package/dist/runtime/components/argAdvancedSearchBar.vue.d.ts +89 -3
  4. package/dist/runtime/components/argBtn.vue +48 -39
  5. package/dist/runtime/components/argBtn.vue.d.ts +72 -3
  6. package/dist/runtime/components/argComplexSelect.vue +255 -256
  7. package/dist/runtime/components/argComplexSelect.vue.d.ts +175 -3
  8. package/dist/runtime/components/argDataLoader.vue +8 -3
  9. package/dist/runtime/components/argDataLoader.vue.d.ts +1 -3
  10. package/dist/runtime/components/argDropdownSelect.vue +145 -138
  11. package/dist/runtime/components/argDropdownSelect.vue.d.ts +139 -3
  12. package/dist/runtime/components/argFileBtn.vue +58 -56
  13. package/dist/runtime/components/argFileBtn.vue.d.ts +60 -3
  14. package/dist/runtime/components/argHeaderTabs.vue +94 -101
  15. package/dist/runtime/components/argHeaderTabs.vue.d.ts +30 -3
  16. package/dist/runtime/components/argIcon.vue +2136 -3117
  17. package/dist/runtime/components/argIcon.vue.d.ts +1110 -2
  18. package/dist/runtime/components/argMultipleChoice.vue +84 -78
  19. package/dist/runtime/components/argMultipleChoice.vue.d.ts +49 -3
  20. package/dist/runtime/components/argNoData.vue +28 -25
  21. package/dist/runtime/components/argNoData.vue.d.ts +26 -3
  22. package/dist/runtime/components/argSearchInput.vue +38 -37
  23. package/dist/runtime/components/argSearchInput.vue.d.ts +30 -3
  24. package/dist/runtime/components/argSimpleLabel.vue +13 -11
  25. package/dist/runtime/components/argSimpleLabel.vue.d.ts +13 -3
  26. package/dist/runtime/components/argStyle.vue +8 -3
  27. package/dist/runtime/components/argStyle.vue.d.ts +1 -3
  28. package/dist/runtime/components/argTable.vue +384 -395
  29. package/dist/runtime/components/argTable.vue.d.ts +337 -3
  30. package/dist/runtime/components/argTags.vue +20 -10
  31. package/dist/runtime/components/argTags.vue.d.ts +26 -3
  32. package/dist/runtime/components/argTekkareLoader.vue +5 -2
  33. package/dist/runtime/components/argTekkareLoader.vue.d.ts +1 -3
  34. package/dist/runtime/components/argTooltip.vue +11 -11
  35. package/dist/runtime/components/argTooltip.vue.d.ts +39 -3
  36. package/package.json +5 -2
@@ -4,7 +4,7 @@
4
4
  <arg-simple-label
5
5
  :disabled="disabled"
6
6
  id="simple-select-complex"
7
- @click="changeDisplay()"
7
+ @click.stop="changeDisplay()"
8
8
  :class="isDisplay ? 'open' : ''"
9
9
  >
10
10
  <slot></slot>
@@ -151,100 +151,50 @@
151
151
  </div>
152
152
  </template>
153
153
  <script>
154
- export default {
155
- name: "argComplexSelect"
156
- };
157
- </script>
158
- <script setup lang="ts">
159
- import { ref, computed, defineProps, defineEmits, watch } from "vue";
160
- import argIcon from "./argIcon.vue";
161
154
  import argSimpleLabel from "./argSimpleLabel.vue";
162
155
  import argBtn from "./argBtn.vue";
163
-
164
- const props = defineProps({
165
- element_table: { type: Array<string>, required: true },
166
- search_placeholder: { type: String, default: "Search" },
167
- need_apply: { type: Boolean, default: false },
168
- select_placeholder: { type: String, required: false },
169
- smart_selection_table: { type: Array, required: false },
170
- return_value: { type: Boolean, default: false },
171
- disabled: { type: Boolean, default: false },
172
- already_selected: {
173
- type: Array<string>,
174
- default: () => [],
156
+ import argIcon from "./argIcon.vue";
157
+ import {
158
+ ref,
159
+ computed,
160
+ watch,
161
+ defineComponent
162
+ } from "vue";
163
+ export default defineComponent({
164
+ name: "argComplexSelect",
165
+ components: { argSimpleLabel, argBtn, argIcon },
166
+ props: {
167
+ element_table: { type: Array, required: true },
168
+ search_placeholder: { type: String, default: "Search" },
169
+ need_apply: { type: Boolean, default: false },
170
+ select_placeholder: { type: String, required: false },
171
+ smart_selection_table: { type: Array, required: false },
172
+ return_value: { type: Boolean, default: false },
173
+ disabled: { type: Boolean, default: false },
174
+ already_selected: {
175
+ type: Array,
176
+ default: () => []
177
+ },
178
+ show_select_all: { type: Boolean, default: false },
179
+ max_result: { type: Number, default: 500 }
175
180
  },
176
- show_select_all: { type: Boolean, default: false },
177
- max_result: { type: Number, default: 500 },
178
- });
179
-
180
- const add_table = ref([""]);
181
- const del_table = ref([""]);
182
- const isDisplay = ref(false);
183
- const save_table = ref({ add: [""], del: [""] });
184
- const smart_selection_selected = ref();
185
- const searchNameAdd = ref("");
186
- const searchNameDel = ref("");
187
- const uid = ref(0);
188
- const hoverAdd = ref(null);
189
- const hoverRemove = ref(null);
190
-
191
- const emit = defineEmits([
192
- "changeElement",
193
- "changeAddInputValue",
194
- "update:Value",
195
- ]);
196
-
197
- del_table.value = Object.assign([], [...new Set(props.already_selected)]);
198
- add_table.value = Object.assign(
199
- [],
200
- [...new Set(props.element_table)].filter(
201
- (item: string) => !del_table.value.includes(item)
202
- )
203
- );
204
- save_table.value.add = Object.assign(
205
- [],
206
- [...new Set(props.element_table)].filter(
207
- (item) => !del_table.value.includes(item)
208
- )
209
- );
210
- uid.value = Math.floor(Math.random() * (100 - 1) + 1);
211
-
212
- if (props.already_selected.length > 0) {
213
- if (!props.need_apply) {
214
- apply_function();
215
- }
216
- }
217
-
218
- watch(
219
- () => props.element_table,
220
- (new_element_table: string[]) => {
181
+ emits: ["changeElement", "changeAddInputValue", "update:Value"],
182
+ setup(props, { emit }) {
183
+ const add_table = ref([""]);
184
+ const del_table = ref([""]);
185
+ const isDisplay = ref(false);
186
+ const save_table = ref({ add: [""], del: [""] });
187
+ const smart_selection_selected = ref();
188
+ const searchNameAdd = ref("");
189
+ const searchNameDel = ref("");
190
+ const uid = ref(0);
191
+ const hoverAdd = ref(null);
192
+ const hoverRemove = ref(null);
221
193
  del_table.value = Object.assign([], [...new Set(props.already_selected)]);
222
- add_table.value = Object.assign(
223
- [],
224
- [...new Set(new_element_table)].filter(
225
- (item: string) => !del_table.value.includes(item)
226
- )
227
- );
228
- save_table.value.add = Object.assign(
229
- [],
230
- [...new Set(new_element_table)].filter(
231
- (item) => !del_table.value.includes(item)
232
- )
233
- );
234
- if (!props.need_apply) {
235
- apply_function();
236
- }
237
- }
238
- );
239
-
240
- watch(
241
- () => props.already_selected,
242
- (new_selected: string[]) => {
243
- del_table.value = Object.assign([], [...new Set(new_selected)]);
244
194
  add_table.value = Object.assign(
245
195
  [],
246
196
  [...new Set(props.element_table)].filter(
247
- (item: string) => !del_table.value.includes(item)
197
+ (item) => !del_table.value.includes(item)
248
198
  )
249
199
  );
250
200
  save_table.value.add = Object.assign(
@@ -253,182 +203,231 @@ watch(
253
203
  (item) => !del_table.value.includes(item)
254
204
  )
255
205
  );
256
- if (!props.need_apply) {
257
- apply_function();
206
+ uid.value = Math.floor(Math.random() * (100 - 1) + 1);
207
+ if (props.already_selected.length > 0) {
208
+ if (!props.need_apply) {
209
+ apply_function();
210
+ }
258
211
  }
259
- }
260
- );
261
-
262
- const filterNameAdd = computed(() => {
263
- if (searchNameAdd.value !== null) {
264
- return add_table.value
265
- .filter((element) =>
266
- element.toLowerCase().includes(searchNameAdd.value.toLowerCase())
267
- )
268
- .slice(0, props.max_result);
269
- } else return add_table.value.slice(0, props.max_result);
270
- });
271
- const filterNameDel = computed(() => {
272
- if (searchNameDel.value !== null) {
273
- return del_table.value.filter((element) =>
274
- element.toLowerCase().includes(searchNameAdd.value.toLowerCase())
212
+ watch(
213
+ () => props.element_table,
214
+ (new_element_table) => {
215
+ del_table.value = Object.assign(
216
+ [],
217
+ [...new Set(props.already_selected)]
218
+ );
219
+ add_table.value = Object.assign(
220
+ [],
221
+ [...new Set(new_element_table)].filter(
222
+ (item) => !del_table.value.includes(item)
223
+ )
224
+ );
225
+ save_table.value.add = Object.assign(
226
+ [],
227
+ [...new Set(new_element_table)].filter(
228
+ (item) => !del_table.value.includes(item)
229
+ )
230
+ );
231
+ if (!props.need_apply) {
232
+ apply_function();
233
+ }
234
+ }
275
235
  );
276
- } else return del_table.value;
277
- });
278
-
279
- function changeInput() {
280
- emit("changeAddInputValue", searchNameAdd);
281
- }
282
-
283
- function isInViewport(el: HTMLElement) {
284
- const rect = el.getBoundingClientRect();
285
- return (
286
- rect.right <= (window.innerWidth || document.documentElement.clientWidth)
287
- );
288
- }
289
-
290
- function changeDisplay() {
291
- if (props.disabled === false) {
292
- if (isDisplay.value === true) {
293
- isDisplay.value = !isDisplay.value;
294
- } else {
295
- isDisplay.value = !isDisplay.value;
296
- setTimeout(() => {
297
- document?.addEventListener("click", close);
298
- }, 100);
236
+ watch(
237
+ () => props.already_selected,
238
+ (new_selected) => {
239
+ del_table.value = Object.assign([], [...new Set(new_selected)]);
240
+ add_table.value = Object.assign(
241
+ [],
242
+ [...new Set(props.element_table)].filter(
243
+ (item) => !del_table.value.includes(item)
244
+ )
245
+ );
246
+ save_table.value.add = Object.assign(
247
+ [],
248
+ [...new Set(props.element_table)].filter(
249
+ (item) => !del_table.value.includes(item)
250
+ )
251
+ );
252
+ if (!props.need_apply) {
253
+ apply_function();
254
+ }
255
+ }
256
+ );
257
+ const filterNameAdd = computed(() => {
258
+ if (searchNameAdd.value !== null) {
259
+ return add_table.value.filter(
260
+ (element) => element.toLowerCase().includes(searchNameAdd.value.toLowerCase())
261
+ ).slice(0, props.max_result);
262
+ } else
263
+ return add_table.value.slice(0, props.max_result);
264
+ });
265
+ const filterNameDel = computed(() => {
266
+ if (searchNameDel.value !== null) {
267
+ return del_table.value.filter(
268
+ (element) => element.toLowerCase().includes(searchNameAdd.value.toLowerCase())
269
+ );
270
+ } else
271
+ return del_table.value;
272
+ });
273
+ function changeInput() {
274
+ emit("changeAddInputValue", searchNameAdd);
299
275
  }
300
- const elem = document?.getElementById("select_complex");
301
- const simpleElem = document?.getElementById("simple_select_complex");
302
- if (elem !== null && simpleElem !== null) {
303
- elem.style.display = "";
304
- elem.style.left = "";
305
- const bounding = elem.getBoundingClientRect();
306
- elem.style.left = !isInViewport(elem)
307
- ? `${
308
- simpleElem.getBoundingClientRect().right +
309
- window.scrollX -
310
- bounding.width
311
- }px`
312
- : "";
276
+ function isInViewport(el) {
277
+ const rect = el.getBoundingClientRect();
278
+ return rect.right <= (window.innerWidth || document.documentElement.clientWidth);
313
279
  }
314
- }
315
- }
316
- function close() {
317
- if (isDisplay.value === true) {
318
- isDisplay.value = false;
319
- document.removeEventListener("click", close);
320
- }
321
- }
322
-
323
- function add_element(element: string) {
324
- smart_selection_selected.value = undefined;
325
- del_table.value.push(element);
326
- add_table.value.splice(add_table.value.indexOf(element), 1);
327
- if (!props.need_apply) {
328
- apply_function();
329
- }
330
- }
331
-
332
- function del_element(element: string) {
333
- smart_selection_selected.value = undefined;
334
- add_table.value.push(element);
335
- del_table.value.splice(del_table.value.indexOf(element, 1));
336
- if (!props.need_apply) {
337
- apply_function();
338
- }
339
- }
340
-
341
- function add_all_element() {
342
- smart_selection_selected.value = undefined;
343
- del_table.value = Object.assign([], [...new Set(props.element_table)]);
344
- add_table.value = [];
345
- if (!props.need_apply) {
346
- apply_function();
347
- }
348
- }
349
-
350
- function del_all_element() {
351
- smart_selection_selected.value = undefined;
352
- add_table.value = Object.assign([], [...new Set(props.element_table)]);
353
- del_table.value = [];
354
- if (!props.need_apply) {
355
- apply_function();
356
- }
357
- }
358
-
359
- function apply_function() {
360
- change_save_table();
361
- if (!props.return_value) {
362
- emit(
363
- "changeElement",
364
- del_table.value.map((elem) => props.element_table.indexOf(elem))
365
- );
366
- emit(
367
- "update:Value",
368
- del_table.value.map((elem) => props.element_table.indexOf(elem))
369
- );
370
- } else {
371
- emit(
372
- "changeElement",
373
- del_table.value.map((elem) => elem)
374
- );
375
- emit(
376
- "update:Value",
377
- del_table.value.map((elem) => elem)
378
- );
379
- }
380
- if (props.need_apply) {
381
- close();
382
- }
383
- }
384
-
385
- function smart_selection_select_item(selected: any) {
386
- if (props.smart_selection_table !== selected) {
387
- del_all_element();
388
- selected.item.forEach((index: string | number) => {
389
- if (typeof index == "string") {
390
- if (
391
- typeof props.element_table[props.element_table.indexOf(index)] !==
392
- "undefined"
393
- ) {
394
- del_table.value.push(
395
- props.element_table[props.element_table.indexOf(index)]
396
- );
397
- add_table.value.splice(
398
- add_table.value.indexOf(
399
- props.element_table[props.element_table.indexOf(index)]
400
- ),
401
- 1
402
- );
280
+ function changeDisplay() {
281
+ if (props.disabled === false) {
282
+ isDisplay.value = !isDisplay.value;
283
+ if (isDisplay.value === true) {
284
+ setTimeout(() => {
285
+ document?.addEventListener("click", close);
286
+ }, 100);
403
287
  }
404
- } else if (typeof index === "number") {
405
- if (typeof props.element_table[index] !== "undefined") {
406
- del_table.value.push(props.element_table[index]);
407
- add_table.value.splice(
408
- add_table.value.indexOf(props.element_table[index]),
409
- 1
410
- );
288
+ const elem = document?.getElementById("select_complex");
289
+ const simpleElem = document?.getElementById("simple_select_complex");
290
+ if (elem !== null && simpleElem !== null) {
291
+ elem.style.display = "";
292
+ elem.style.left = "";
293
+ const bounding = elem.getBoundingClientRect();
294
+ elem.style.left = !isInViewport(elem) ? `${simpleElem.getBoundingClientRect().right + window.scrollX - bounding.width}px` : "";
411
295
  }
412
296
  }
413
- });
414
- smart_selection_selected.value = selected;
415
- }
416
- if (!props.need_apply) {
417
- apply_function();
297
+ }
298
+ function close() {
299
+ if (isDisplay.value === true) {
300
+ isDisplay.value = false;
301
+ document?.removeEventListener("click", close);
302
+ }
303
+ }
304
+ function add_element(element) {
305
+ smart_selection_selected.value = void 0;
306
+ del_table.value.push(element);
307
+ add_table.value.splice(add_table.value.indexOf(element), 1);
308
+ if (!props.need_apply) {
309
+ apply_function();
310
+ }
311
+ }
312
+ function del_element(element) {
313
+ smart_selection_selected.value = void 0;
314
+ add_table.value.push(element);
315
+ del_table.value.splice(del_table.value.indexOf(element, 1));
316
+ if (!props.need_apply) {
317
+ apply_function();
318
+ }
319
+ }
320
+ function add_all_element() {
321
+ smart_selection_selected.value = void 0;
322
+ del_table.value = Object.assign([], [...new Set(props.element_table)]);
323
+ add_table.value = [];
324
+ if (!props.need_apply) {
325
+ apply_function();
326
+ }
327
+ }
328
+ function del_all_element() {
329
+ smart_selection_selected.value = void 0;
330
+ add_table.value = Object.assign([], [...new Set(props.element_table)]);
331
+ del_table.value = [];
332
+ if (!props.need_apply) {
333
+ apply_function();
334
+ }
335
+ }
336
+ function apply_function() {
337
+ change_save_table();
338
+ if (!props.return_value) {
339
+ emit(
340
+ "changeElement",
341
+ del_table.value.map((elem) => props.element_table.indexOf(elem))
342
+ );
343
+ emit(
344
+ "update:Value",
345
+ del_table.value.map((elem) => props.element_table.indexOf(elem))
346
+ );
347
+ } else {
348
+ emit(
349
+ "changeElement",
350
+ del_table.value.map((elem) => elem)
351
+ );
352
+ emit(
353
+ "update:Value",
354
+ del_table.value.map((elem) => elem)
355
+ );
356
+ }
357
+ if (props.need_apply) {
358
+ close();
359
+ }
360
+ }
361
+ function smart_selection_select_item(selected) {
362
+ if (props.smart_selection_table !== selected) {
363
+ del_all_element();
364
+ selected.item.forEach((index) => {
365
+ if (typeof index == "string") {
366
+ if (typeof props.element_table[props.element_table.indexOf(index)] !== "undefined") {
367
+ del_table.value.push(
368
+ props.element_table[props.element_table.indexOf(index)]
369
+ );
370
+ add_table.value.splice(
371
+ add_table.value.indexOf(
372
+ props.element_table[props.element_table.indexOf(index)]
373
+ ),
374
+ 1
375
+ );
376
+ }
377
+ } else if (typeof index === "number") {
378
+ if (typeof props.element_table[index] !== "undefined") {
379
+ del_table.value.push(props.element_table[index]);
380
+ add_table.value.splice(
381
+ add_table.value.indexOf(props.element_table[index]),
382
+ 1
383
+ );
384
+ }
385
+ }
386
+ });
387
+ smart_selection_selected.value = selected;
388
+ }
389
+ if (!props.need_apply) {
390
+ apply_function();
391
+ }
392
+ }
393
+ function cancel_function() {
394
+ add_table.value = save_table.value.add;
395
+ del_table.value = save_table.value.del;
396
+ close();
397
+ }
398
+ function change_save_table() {
399
+ save_table.value = { add: [], del: [] };
400
+ save_table.value.add = add_table.value;
401
+ save_table.value.del = del_table.value;
402
+ }
403
+ return {
404
+ add_table,
405
+ del_table,
406
+ isDisplay,
407
+ save_table,
408
+ smart_selection_selected,
409
+ searchNameAdd,
410
+ searchNameDel,
411
+ uid,
412
+ hoverAdd,
413
+ hoverRemove,
414
+ filterNameAdd,
415
+ filterNameDel,
416
+ changeInput,
417
+ isInViewport,
418
+ changeDisplay,
419
+ close,
420
+ add_element,
421
+ del_element,
422
+ add_all_element,
423
+ del_all_element,
424
+ apply_function,
425
+ smart_selection_select_item,
426
+ cancel_function,
427
+ change_save_table
428
+ };
418
429
  }
419
- }
420
-
421
- function cancel_function() {
422
- add_table.value = save_table.value.add;
423
- del_table.value = save_table.value.del;
424
- close();
425
- }
426
-
427
- function change_save_table() {
428
- save_table.value = { add: [], del: [] };
429
- save_table.value.add = add_table.value;
430
- save_table.value.del = del_table.value;
431
- }
430
+ });
432
431
  </script>
433
432
 
434
433
  <style scoped>