@tekkare/auriga 0.1.63 → 0.1.65

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.
package/dist/module.json CHANGED
@@ -4,5 +4,5 @@
4
4
  "compatibility": {
5
5
  "nuxt": "^3.0.0"
6
6
  },
7
- "version": "0.1.63"
7
+ "version": "0.1.65"
8
8
  }
@@ -24,7 +24,7 @@
24
24
  size="20"
25
25
  :color="getIconColor"
26
26
  />
27
- <slot></slot>
27
+ <slot />
28
28
  <arg-icon
29
29
  v-if="suffixIcon"
30
30
  :name="suffixIcon"
@@ -273,10 +273,10 @@ export default defineComponent({
273
273
  },
274
274
  emits: ["changeElement", "changeAddInputValue", "update:Selection"],
275
275
  setup(props, { emit }) {
276
- const add_table = ref([""]);
277
- const del_table = ref([""]);
276
+ const add_table = ref([]);
277
+ const del_table = ref([]);
278
278
  const isDisplay = ref(false);
279
- const save_table = ref({ add: [""], del: [""] });
279
+ const save_table = ref([]);
280
280
  const smart_selection_selected = ref();
281
281
  const searchNameAdd = ref("");
282
282
  const searchNameDel = ref("");
@@ -392,11 +392,26 @@ export default defineComponent({
392
392
  }
393
393
  return filterFill;
394
394
  });
395
+ function checkIfContainsValue(element, searchArray) {
396
+ let hasValue = false;
397
+ if (searchArray.every((l) => element.includes(l))) {
398
+ hasValue = true;
399
+ }
400
+ return hasValue;
401
+ }
395
402
  const filterNameAdd = computed(() => {
396
403
  if (searchNameAdd.value !== null) {
397
- return add_table.value.filter(
398
- (element) => element.toLowerCase().includes(searchNameAdd.value.toLowerCase())
399
- ).slice(0, props.max_result);
404
+ if (searchNameAdd.value.includes(" ")) {
405
+ return add_table.value.filter(
406
+ (element) => checkIfContainsValue(
407
+ element.toLowerCase(),
408
+ searchNameAdd.value.toLowerCase().split(" ")
409
+ )
410
+ ).slice(0, props.max_result);
411
+ } else
412
+ return add_table.value.filter(
413
+ (element) => element.toLowerCase().includes(searchNameAdd.value.toLowerCase())
414
+ ).slice(0, props.max_result);
400
415
  } else
401
416
  return add_table.value.slice(0, props.max_result);
402
417
  });
@@ -1,10 +1,10 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
2
  element_table: {
3
3
  type: {
4
- (arrayLength: number): String[];
5
- (...items: String[]): String[];
6
- new (arrayLength: number): String[];
7
- new (...items: String[]): String[];
4
+ (arrayLength: number): string[];
5
+ (...items: string[]): string[];
6
+ new (arrayLength: number): string[];
7
+ new (...items: string[]): string[];
8
8
  isArray(arg: any): arg is any[];
9
9
  readonly prototype: any[];
10
10
  from<T>(arrayLike: ArrayLike<T>): T[];
@@ -121,21 +121,18 @@ declare const _default: import("vue").DefineComponent<{
121
121
  default: null;
122
122
  };
123
123
  }, {
124
- add_table: import("vue").Ref<string[]>;
125
- del_table: import("vue").Ref<string[]>;
124
+ add_table: any;
125
+ del_table: any;
126
126
  isDisplay: import("vue").Ref<boolean>;
127
- save_table: import("vue").Ref<{
128
- add: string[];
129
- del: string[];
130
- }>;
127
+ save_table: any;
131
128
  smart_selection_selected: import("vue").Ref<any>;
132
129
  searchNameAdd: import("vue").Ref<string>;
133
130
  searchNameDel: import("vue").Ref<string>;
134
131
  uid: import("vue").Ref<number>;
135
132
  hoverAdd: import("vue").Ref<null>;
136
133
  hoverRemove: import("vue").Ref<null>;
137
- filterNameAdd: import("vue").ComputedRef<string[]>;
138
- filterNameDel: import("vue").ComputedRef<string[]>;
134
+ filterNameAdd: import("vue").ComputedRef<any>;
135
+ filterNameDel: import("vue").ComputedRef<any>;
139
136
  changeInput: () => void;
140
137
  isInViewport: (el: HTMLElement) => boolean;
141
138
  changeDisplay: () => void;
@@ -159,10 +156,10 @@ declare const _default: import("vue").DefineComponent<{
159
156
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("changeElement" | "changeAddInputValue" | "update:Selection")[], "changeElement" | "changeAddInputValue" | "update:Selection", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
160
157
  element_table: {
161
158
  type: {
162
- (arrayLength: number): String[];
163
- (...items: String[]): String[];
164
- new (arrayLength: number): String[];
165
- new (...items: String[]): String[];
159
+ (arrayLength: number): string[];
160
+ (...items: string[]): string[];
161
+ new (arrayLength: number): string[];
162
+ new (...items: string[]): string[];
166
163
  isArray(arg: any): arg is any[];
167
164
  readonly prototype: any[];
168
165
  from<T>(arrayLike: ArrayLike<T>): T[];
@@ -266,11 +266,26 @@ export default defineComponent({
266
266
  isDisplay.value = false;
267
267
  document?.removeEventListener("click", closeDropdown);
268
268
  }
269
+ function checkIfContainsValue(element, searchArray) {
270
+ let hasValue = false;
271
+ if (searchArray.every((l) => element.includes(l))) {
272
+ hasValue = true;
273
+ }
274
+ return hasValue;
275
+ }
269
276
  const filterName = computed(() => {
270
277
  if (searchName.value !== null) {
271
- return table_values.value.filter(
272
- (element) => element.toLowerCase().includes(searchName.value.toLowerCase())
273
- );
278
+ if (searchName.value.includes(" ")) {
279
+ return table_values.value.filter(
280
+ (element) => checkIfContainsValue(
281
+ element.toLowerCase(),
282
+ searchName.value.toLowerCase().split(" ")
283
+ )
284
+ );
285
+ } else
286
+ return table_values.value.filter(
287
+ (element) => element.toLowerCase().includes(searchName.value.toLowerCase())
288
+ );
274
289
  }
275
290
  return table_values.value;
276
291
  });
@@ -33,7 +33,7 @@
33
33
  </div>
34
34
  <div
35
35
  class="oip_row v-center gap-8 toggle_filter_card"
36
- @click="filtersOpen = !filtersOpen"
36
+ @click="handleCard()"
37
37
  >
38
38
  <arg-icon
39
39
  name="CaretDown"
@@ -93,7 +93,6 @@ export default defineComponent({
93
93
  if (window.scrollY > scrollPosition.value + filters.offsetHeight) {
94
94
  filtersOpen.value = false;
95
95
  scrollPosition.value = window.scrollY;
96
- document.removeEventListener("scroll", openFromScroll);
97
96
  }
98
97
  }
99
98
  }
@@ -101,7 +100,9 @@ export default defineComponent({
101
100
  onMounted(() => {
102
101
  adjustFilterPosition();
103
102
  listenToHeaderChange();
104
- openFromScroll();
103
+ setTimeout(() => {
104
+ openFromScroll();
105
+ });
105
106
  });
106
107
  onUpdated(() => {
107
108
  adjustFilterPosition();
@@ -109,13 +110,19 @@ export default defineComponent({
109
110
  watch(
110
111
  () => filtersOpen.value,
111
112
  (new_filters_open) => {
112
- if (new_filters_open) {
113
- setTimeout(() => {
114
- document.addEventListener("scroll", openFromScroll);
115
- }, 500);
116
- }
113
+ setTimeout(() => {
114
+ document.addEventListener("scroll", openFromScroll);
115
+ }, 500);
117
116
  }
118
117
  );
118
+ function handleCard() {
119
+ if (filtersOpen.value === false) {
120
+ document.removeEventListener("scroll", openFromScroll);
121
+ filtersOpen.value = true;
122
+ } else {
123
+ filtersOpen.value = false;
124
+ }
125
+ }
119
126
  function listenToHeaderChange() {
120
127
  const fixedHeader = document.getElementById("arg_header");
121
128
  const config = { attributes: true, childList: true };
@@ -146,7 +153,8 @@ export default defineComponent({
146
153
  return {
147
154
  filtersOpen,
148
155
  clear,
149
- save
156
+ save,
157
+ handleCard
150
158
  };
151
159
  }
152
160
  });
@@ -24,6 +24,7 @@ declare const _default: import("vue").DefineComponent<{
24
24
  filtersOpen: any;
25
25
  clear: () => void;
26
26
  save: () => void;
27
+ handleCard: () => void;
27
28
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clearFilters" | "saveScope")[], "clearFilters" | "saveScope", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
28
29
  filters_amount: {
29
30
  type: NumberConstructor;
@@ -49,7 +49,10 @@
49
49
  :text="getLoaderText[0]"
50
50
  :sub-text="getLoaderText[1]"
51
51
  />
52
- <div class="oip_empty_dropdown" v-else-if="filterName.length === 0">
52
+ <div
53
+ class="oip_empty_dropdown"
54
+ v-else-if="nested ? filterNested.length == 0 : filterName.length === 0"
55
+ >
53
56
  <p>{{ getEmptyContentMsg }}</p>
54
57
  </div>
55
58
  <!-- List -->
@@ -437,12 +440,27 @@ export default defineComponent({
437
440
  return element_table_copy.value;
438
441
  }
439
442
  });
443
+ function checkIfContainsValue(element, searchArray) {
444
+ let hasValue = false;
445
+ if (searchArray.every((l) => element.includes(l))) {
446
+ hasValue = true;
447
+ }
448
+ return hasValue;
449
+ }
440
450
  const filterName = computed(() => {
441
451
  if (!props.multiple_columns) {
442
452
  if (searchName.value !== null) {
443
- return element_table_copy.value.filter(
444
- (element) => element.toLowerCase().includes(searchName.value.toLowerCase())
445
- );
453
+ if (searchName.value.includes(" ")) {
454
+ return element_table_copy.value.filter(
455
+ (element) => checkIfContainsValue(
456
+ element.toLowerCase(),
457
+ searchName.value.toLowerCase().split(" ")
458
+ )
459
+ );
460
+ } else
461
+ return element_table_copy.value.filter(
462
+ (element) => element.toLowerCase().includes(searchName.value.toLowerCase())
463
+ );
446
464
  } else
447
465
  return props.element_table;
448
466
  } else {
@@ -472,12 +490,23 @@ export default defineComponent({
472
490
  }
473
491
  }
474
492
  });
493
+ function checkNestedContainsValues(element, search) {
494
+ let hasValue = false;
495
+ for (let i = 0; i < element.values.length; i++) {
496
+ if (search.includes(" ")) {
497
+ if (search.toLowerCase().split(" ").every((l) => element.values[i].toLowerCase().includes(l))) {
498
+ hasValue = true;
499
+ }
500
+ } else if (element.values[i].toLowerCase().includes(search.toLowerCase())) {
501
+ hasValue = true;
502
+ }
503
+ }
504
+ return hasValue;
505
+ }
475
506
  const filterNested = computed(() => {
476
507
  if (searchName.value !== null || searchName.value && searchName.value !== "") {
477
508
  return element_table_copy.value.filter(
478
- (element) => element.values.includes(
479
- searchName.value || searchName.value.toLowerCase()
480
- )
509
+ (element) => checkNestedContainsValues(element, searchName.value)
481
510
  );
482
511
  } else
483
512
  return props.element_table;
@@ -257,7 +257,7 @@ export default defineComponent({
257
257
  font-weight: 600;
258
258
  flex-shrink: 0;
259
259
  position: absolute;
260
- right: 40px;
260
+ right: 34px;
261
261
  }
262
262
  .oip_empty_select {
263
263
  font-weight: 600;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tekkare/auriga",
3
- "version": "0.1.63",
3
+ "version": "0.1.65",
4
4
  "description": "Aurgia is a UI kit developped by Tekkare",
5
5
  "license": "MIT",
6
6
  "type": "module",