lkt-item-crud 2.0.29 → 2.0.30

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.30",
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(() => {
@@ -576,6 +577,7 @@
576
577
  :group-button="safeGroupButton"
577
578
  :data-changed="dataChanged"
578
579
  :http-success-read="httpSuccessRead"
580
+ :can-create="canCreate"
579
581
  :can-update="canUpdate"
580
582
  :can-drop="canDrop"
581
583
  :can-switch-edit-mode="canSwitchEditMode"
@@ -641,6 +643,7 @@
641
643
  :group-button="safeGroupButton"
642
644
  :data-changed="dataChanged"
643
645
  :http-success-read="httpSuccessRead"
646
+ :can-create="canCreate"
644
647
  :can-update="canUpdate"
645
648
  :can-drop="canDrop"
646
649
  :can-switch-edit-mode="canSwitchEditMode"
@@ -744,6 +747,7 @@
744
747
  :group-button="safeGroupButton"
745
748
  :data-changed="dataChanged"
746
749
  :http-success-read="httpSuccessRead"
750
+ :can-create="canCreate"
747
751
  :can-update="canUpdate"
748
752
  :can-drop="canDrop"
749
753
  :can-switch-edit-mode="canSwitchEditMode"