lkt-table 1.3.2 → 1.3.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lkt-table",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "lkt",
@@ -14,6 +14,7 @@ import TableHeader from "../components/TableHeader.vue";
14
14
  import {__} from "lkt-i18n";
15
15
  import {time} from "lkt-date-tools";
16
16
  import {Settings} from "../settings/Settings";
17
+ import {TypeOfTable} from "@/enums/TypeOfTable";
17
18
 
18
19
  const emit = defineEmits(['update:modelValue', 'update:perms', 'sort', 'click', 'save', 'error', 'before-save', 'read-response', 'click-create']);
19
20
 
@@ -21,6 +22,7 @@ const slots = useSlots();
21
22
 
22
23
  const props = withDefaults(defineProps<{
23
24
  modelValue: LktObject[]
25
+ type?: TypeOfTable,
24
26
  columns: Column[]
25
27
  sorter?: Function
26
28
  draggableChecker?: Function
@@ -81,6 +83,7 @@ const props = withDefaults(defineProps<{
81
83
  slotItemVar: string
82
84
  }>(), {
83
85
  modelValue: () => [],
86
+ type: TypeOfTable.Table,
84
87
  columns: () => [],
85
88
  sorter: defaultTableSorter,
86
89
  draggableChecker: (item: any) => true,
@@ -160,6 +163,11 @@ const Page = ref(props.page),
160
163
  updateTimeStamp = ref(0)
161
164
  ;
162
165
 
166
+ const Type = ref(props.type);
167
+ if (props.itemMode && Type.value === TypeOfTable.Table) {
168
+ Type.value = TypeOfTable.Item;
169
+ }
170
+
163
171
  const onResults = (r: any) => {
164
172
  //@ts-ignore
165
173
  if (Array.isArray(r)) Items.value = r;
@@ -540,7 +548,7 @@ const hasEmptySlot = computed(() => {
540
548
  <lkt-loader v-if="loading"/>
541
549
 
542
550
  <div v-show="!loading && Items.length > 0" class="lkt-table" :data-sortable="sortable">
543
- <table v-if="!itemMode">
551
+ <table v-if="Type === TypeOfTable.Table">
544
552
  <thead>
545
553
  <tr>
546
554
  <th v-if="sortable && editModeEnabled" data-role="drag-indicator"/>
@@ -644,7 +652,7 @@ const hasEmptySlot = computed(() => {
644
652
  </tbody>
645
653
  </table>
646
654
 
647
- <div v-else class="lkt-table-items-container" :class="itemsContainerClass">
655
+ <div v-else-if="Type === TypeOfTable.Item" class="lkt-table-items-container" :class="itemsContainerClass">
648
656
  <template
649
657
  v-for="(item, i) in Items">
650
658
  <div class="lkt-table-item" v-if="canDisplayItem(item)">
@@ -661,6 +669,42 @@ const hasEmptySlot = computed(() => {
661
669
  </div>
662
670
  </template>
663
671
  </div>
672
+
673
+ <ul v-else-if="TypeOfTable.Ul" class="lkt-table-items-container" :class="itemsContainerClass">
674
+ <template
675
+ v-for="(item, i) in Items">
676
+ <li class="lkt-table-item" v-if="canDisplayItem(item)">
677
+ <slot name="item"
678
+ v-bind:[slotItemVar]="item"
679
+ v-bind:index="i"
680
+ v-bind:can-create="hasCreatePerm"
681
+ v-bind:can-read="hasReadPerm"
682
+ v-bind:can-update="hasUpdatePerm"
683
+ v-bind:can-drop="hasDropPerm"
684
+ v-bind:is-loading="loading"
685
+ v-bind:do-drop="() => onItemDrop(i)"
686
+ />
687
+ </li>
688
+ </template>
689
+ </ul>
690
+
691
+ <ol v-else-if="TypeOfTable.Ul" class="lkt-table-items-container" :class="itemsContainerClass">
692
+ <template
693
+ v-for="(item, i) in Items">
694
+ <li class="lkt-table-item" v-if="canDisplayItem(item)">
695
+ <slot name="item"
696
+ v-bind:[slotItemVar]="item"
697
+ v-bind:index="i"
698
+ v-bind:can-create="hasCreatePerm"
699
+ v-bind:can-read="hasReadPerm"
700
+ v-bind:can-update="hasUpdatePerm"
701
+ v-bind:can-drop="hasDropPerm"
702
+ v-bind:is-loading="loading"
703
+ v-bind:do-drop="() => onItemDrop(i)"
704
+ />
705
+ </li>
706
+ </template>
707
+ </ol>
664
708
  </div>
665
709
 
666
710
  <div class="lkt-table-empty" v-if="!loading && Items.length === 0">