@vc-shell/framework 1.0.121 → 1.0.123

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 (90) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/core/composables/index.ts +1 -0
  3. package/core/composables/useAssets/index.ts +100 -0
  4. package/core/types/index.ts +5 -13
  5. package/dist/core/composables/index.d.ts +1 -0
  6. package/dist/core/composables/index.d.ts.map +1 -1
  7. package/dist/core/composables/useAssets/index.d.ts +10 -0
  8. package/dist/core/composables/useAssets/index.d.ts.map +1 -0
  9. package/dist/core/types/index.d.ts +5 -12
  10. package/dist/core/types/index.d.ts.map +1 -1
  11. package/dist/framework.mjs +14885 -14344
  12. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts +4 -4
  13. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
  14. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +7 -5
  15. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
  16. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +10 -8
  17. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts.map +1 -1
  18. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts +18 -30
  19. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts.map +1 -1
  20. package/dist/shared/modules/dynamic/components/fields/Button.d.ts +6 -10
  21. package/dist/shared/modules/dynamic/components/fields/Button.d.ts.map +1 -1
  22. package/dist/shared/modules/dynamic/components/fields/Card.d.ts +10 -14
  23. package/dist/shared/modules/dynamic/components/fields/Card.d.ts.map +1 -1
  24. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +6 -10
  25. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts.map +1 -1
  26. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +6 -10
  27. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts.map +1 -1
  28. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +6 -10
  29. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts.map +1 -1
  30. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +6 -10
  31. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts.map +1 -1
  32. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +6 -10
  33. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts.map +1 -1
  34. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +7 -11
  35. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts.map +1 -1
  36. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +6 -10
  37. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts.map +1 -1
  38. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +6 -10
  39. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
  40. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +6 -10
  41. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
  42. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +6 -10
  43. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts.map +1 -1
  44. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +6 -10
  45. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts.map +1 -1
  46. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +6 -10
  47. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts.map +1 -1
  48. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +6 -10
  49. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts.map +1 -1
  50. package/dist/shared/modules/dynamic/components/fields/props.d.ts +6 -10
  51. package/dist/shared/modules/dynamic/components/fields/props.d.ts.map +1 -1
  52. package/dist/shared/modules/dynamic/factories/types/index.d.ts +3 -3
  53. package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
  54. package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
  55. package/dist/shared/modules/dynamic/helpers/override.d.ts +1 -0
  56. package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
  57. package/dist/shared/modules/dynamic/helpers/toolbarReducer.d.ts +2 -2
  58. package/dist/shared/modules/dynamic/helpers/toolbarReducer.d.ts.map +1 -1
  59. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +6 -10
  60. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  61. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +25 -2
  62. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  63. package/dist/shared/modules/dynamic/types/index.d.ts +28 -14
  64. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  65. package/dist/tsconfig.tsbuildinfo +1 -1
  66. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +6 -8
  67. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts.map +1 -1
  68. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +3 -3
  69. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  70. package/dist/ui/components/organisms/vc-gallery/index.d.ts +17 -14
  71. package/dist/ui/components/organisms/vc-gallery/index.d.ts.map +1 -1
  72. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +16 -17
  73. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  74. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +3 -3
  75. package/package.json +6 -5
  76. package/shared/modules/assets/components/assets-details/assets-details.vue +5 -5
  77. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +25 -34
  78. package/shared/modules/dynamic/components/fields/Card.ts +27 -42
  79. package/shared/modules/dynamic/components/fields/GalleryField.ts +25 -28
  80. package/shared/modules/dynamic/factories/types/index.ts +3 -3
  81. package/shared/modules/dynamic/helpers/nodeBuilder.ts +2 -4
  82. package/shared/modules/dynamic/helpers/override.ts +1 -0
  83. package/shared/modules/dynamic/helpers/toolbarReducer.ts +2 -2
  84. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +151 -112
  85. package/shared/modules/dynamic/types/index.ts +30 -15
  86. package/ui/components/atoms/vc-card/vc-card.vue +1 -1
  87. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +8 -11
  88. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +2 -2
  89. package/ui/components/organisms/vc-gallery/vc-gallery.vue +18 -13
  90. package/ui/components/organisms/vc-table/vc-table.vue +2 -2
@@ -33,7 +33,7 @@
33
33
  @drop="onItemDrop($event, image)"
34
34
  ></VcGalleryItem>
35
35
  <VcFileUpload
36
- v-if="!disabled && !defaultImages.length"
36
+ v-if="!disabled && !uploadHidden"
37
37
  class="tw-m-2"
38
38
  :icon="uploadIcon"
39
39
  :variant="variant"
@@ -61,7 +61,7 @@
61
61
 
62
62
  <script lang="ts" setup>
63
63
  import { MaybeRef, computed, ref, unref, watch } from "vue";
64
- import { IImage } from "../../../../core/types";
64
+ import { ICommonAsset } from "../../../../core/types";
65
65
  import { VcLabel, VcFileUpload, VcHint } from "./../../";
66
66
  import VcGalleryItem from "./_internal/vc-gallery-item/vc-gallery-item.vue";
67
67
  import VcGalleryPreview from "./_internal/vc-gallery-preview/vc-gallery-preview.vue";
@@ -69,7 +69,7 @@ import { usePopup } from "./../../../../shared/components/popup-handler/composab
69
69
  import { useI18n } from "vue-i18n";
70
70
 
71
71
  export interface Props {
72
- images?: IImage[];
72
+ images?: ICommonAsset[];
73
73
  disabled?: boolean;
74
74
  required?: boolean;
75
75
  label?: string;
@@ -79,21 +79,21 @@ export interface Props {
79
79
  multiple?: boolean;
80
80
  variant?: "gallery" | "file-upload";
81
81
  itemActions?: {
82
- name?: string;
83
82
  preview: boolean;
84
83
  edit: boolean;
85
84
  remove: boolean;
86
85
  };
86
+ hideAfterUpload?: boolean;
87
87
  rules?: string | Record<string, unknown>;
88
88
  name?: string;
89
89
  loading?: boolean;
90
90
  }
91
91
 
92
92
  export interface Emits {
93
- (event: "upload", files: FileList): void;
94
- (event: "sort", sorted: IImage[]): void;
95
- (event: "edit", image: IImage): void;
96
- (event: "remove", image: IImage): void;
93
+ (event: "upload", files: FileList, startingSortOrder?: number): void;
94
+ (event: "sort", sorted: ICommonAsset[]): void;
95
+ (event: "edit", image: ICommonAsset): void;
96
+ (event: "remove", image: ICommonAsset): void;
97
97
  }
98
98
 
99
99
  const props = withDefaults(defineProps<Props>(), {
@@ -113,8 +113,8 @@ const emit = defineEmits<Emits>();
113
113
  const { t } = useI18n({ useScope: "global" });
114
114
  const previewImageIndex = ref<number>();
115
115
 
116
- const defaultImages = ref<MaybeRef<IImage[]>>([]);
117
- const draggedItem = ref<IImage>();
116
+ const defaultImages = ref<MaybeRef<ICommonAsset[]>>([]);
117
+ const draggedItem = ref<ICommonAsset>();
118
118
  const draggedElement = ref<HTMLElement>();
119
119
  const galleryRef = ref<HTMLElement>();
120
120
  const reorderGalleryRef = ref<HTMLElement>();
@@ -122,6 +122,7 @@ const dropPosition = ref<number>();
122
122
 
123
123
  const currentIndex = computed(() => previewImageIndex.value);
124
124
  const disableDrag = computed(() => defaultImages.value.length <= 1);
125
+ const uploadHidden = ref(false);
125
126
 
126
127
  const { open } = usePopup(
127
128
  computed(() => ({
@@ -137,13 +138,17 @@ watch(
137
138
  () => props.images,
138
139
  (newVal) => {
139
140
  defaultImages.value = unref(newVal);
141
+
142
+ if (props.hideAfterUpload) {
143
+ uploadHidden.value = !!defaultImages.value.length;
144
+ }
140
145
  },
141
146
  { deep: true, immediate: true }
142
147
  );
143
148
 
144
149
  const onUpload = (files: FileList) => {
145
150
  if (files && files.length) {
146
- emit("upload", files);
151
+ emit("upload", files, props.images[props.images.length - 1]?.sortOrder);
147
152
  }
148
153
  };
149
154
 
@@ -170,7 +175,7 @@ function onItemMouseDown(event: MouseEvent & { currentTarget?: { draggable: bool
170
175
  }
171
176
  }
172
177
 
173
- function onItemDragStart(event: DragEvent, item: IImage) {
178
+ function onItemDragStart(event: DragEvent, item: ICommonAsset) {
174
179
  if (!disableDrag.value && !props.disabled) {
175
180
  draggedItem.value = item;
176
181
  draggedElement.value = event.target as HTMLElement;
@@ -219,7 +224,7 @@ function onItemDragLeave(event: DragEvent) {
219
224
  }
220
225
  }
221
226
 
222
- function onItemDrop(event: DragEvent, item: IImage) {
227
+ function onItemDrop(event: DragEvent, item: ICommonAsset) {
223
228
  event.preventDefault();
224
229
 
225
230
  if (draggedItem.value) {
@@ -65,7 +65,7 @@
65
65
  ref="scrollContainer"
66
66
  :no-padding="true"
67
67
  class="tw-grow tw-basis-0"
68
- :use-ptr="!!$attrs['onScroll:ptr']"
68
+ :use-ptr="pullToReload"
69
69
  @scroll:ptr="$emit('scroll:ptr')"
70
70
  >
71
71
  <!-- Mobile table view -->
@@ -492,7 +492,7 @@ const props = withDefaults(
492
492
  footer?: boolean;
493
493
  activeFilterCount?: number;
494
494
  selectedItemId?: string;
495
- scrolling?: boolean;
495
+ pullToReload?: boolean;
496
496
  resizableColumns?: boolean;
497
497
  reorderableColumns?: boolean;
498
498
  reorderableRows?: boolean;