lkt-item-crud 2.0.29 → 2.0.31

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.
@@ -17,6 +17,7 @@ type __VLS_Props = {
17
17
  ableToCreate?: boolean;
18
18
  ableToUpdate?: boolean;
19
19
  ableToDrop?: boolean;
20
+ canCreate?: boolean;
20
21
  canUpdate?: boolean;
21
22
  canDrop?: boolean;
22
23
  canSwitchEditMode?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lkt-item-crud",
3
- "version": "2.0.29",
3
+ "version": "2.0.31",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "module": "./dist/build.js",
@@ -42,6 +42,7 @@
42
42
  ableToCreate?: boolean
43
43
  ableToUpdate?: boolean
44
44
  ableToDrop?: boolean
45
+ canCreate?: boolean
45
46
  canUpdate?: boolean
46
47
  canDrop?: boolean
47
48
  canSwitchEditMode?: boolean
@@ -129,8 +130,8 @@
129
130
  && props.httpSuccessRead;
130
131
  }),
131
132
  showSaveButton = computed(() => {
132
- if (props.mode === ItemCrudMode.Create && props.createButton === false) return false;
133
- if (props.mode === ItemCrudMode.Update && props.updateButton === false) return false;
133
+ if (props.mode === ItemCrudMode.Create && (props.createButton === false || !props.canCreate)) return false;
134
+ if (props.mode === ItemCrudMode.Update && (props.updateButton === false || !props.canUpdate)) return false;
134
135
  if (isLoading.value) return false;
135
136
 
136
137
  return props.editing
@@ -75,6 +75,7 @@
75
75
  itemCreated = ref(false),
76
76
  buttonNav = ref(null),
77
77
  formRef = ref(null),
78
+ canCreate = computed(() => createMode.value && props.createButton !== false && Array.isArray(permissions.value) && permissions.value.includes(TablePermission.Create)),
78
79
  canUpdate = computed(() => !createMode.value && props.updateButton !== false && Array.isArray(permissions.value) && permissions.value.includes(TablePermission.Update)),
79
80
  canDrop = computed(() => !createMode.value && props.dropButton !== false && Array.isArray(permissions.value) && permissions.value.includes(TablePermission.Drop)),
80
81
  canSwitchEditMode = computed(() => props.editModeButton !== false && !createMode.value && Array.isArray(permissions.value) && permissions.value.includes(TablePermission.SwitchEditMode));
@@ -478,7 +479,7 @@
478
479
  return true;
479
480
  }),
480
481
  ableToCreate = computed(() => {
481
- if (props.mode !== ItemCrudMode.Create) return false;
482
+ if (props.mode !== ItemCrudMode.Create || !canCreate.value) return false;
482
483
  if (!props.enabledSaveWithoutChanges && !dataChanged.value) return false;
483
484
  if (computedHasForm.value && !validForm.value && !changedForm.value) return false;
484
485
 
@@ -533,7 +534,7 @@
533
534
  })
534
535
 
535
536
  const computedHasButtons = computed(() => {
536
- return createMode.value || canUpdate.value || canDrop.value;
537
+ return canCreate.value || canUpdate.value || canDrop.value;
537
538
  })
538
539
 
539
540
  const computedFormSlots = computed(() => {
@@ -545,6 +546,8 @@
545
546
  if (typeof props.form === 'function') return props.form({
546
547
  mode: props.mode,
547
548
  view: pickedModificationView.value,
549
+ item: item.value,
550
+ modifications: itemModifications.value
548
551
  });
549
552
  return props.form;
550
553
  })
@@ -576,6 +579,7 @@
576
579
  :group-button="safeGroupButton"
577
580
  :data-changed="dataChanged"
578
581
  :http-success-read="httpSuccessRead"
582
+ :can-create="canCreate"
579
583
  :can-update="canUpdate"
580
584
  :can-drop="canDrop"
581
585
  :can-switch-edit-mode="canSwitchEditMode"
@@ -641,6 +645,7 @@
641
645
  :group-button="safeGroupButton"
642
646
  :data-changed="dataChanged"
643
647
  :http-success-read="httpSuccessRead"
648
+ :can-create="canCreate"
644
649
  :can-update="canUpdate"
645
650
  :can-drop="canDrop"
646
651
  :can-switch-edit-mode="canSwitchEditMode"
@@ -744,6 +749,7 @@
744
749
  :group-button="safeGroupButton"
745
750
  :data-changed="dataChanged"
746
751
  :http-success-read="httpSuccessRead"
752
+ :can-create="canCreate"
747
753
  :can-update="canUpdate"
748
754
  :can-drop="canDrop"
749
755
  :can-switch-edit-mode="canSwitchEditMode"