@voicenter-team/voicenter-ui-plus 3.0.0 → 3.0.1

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 (81) hide show
  1. package/library/assets/assets/sass/main.css +1 -1
  2. package/library/assets/components/VcButton/VcButton.css +1 -1
  3. package/library/assets/components/VcButton/VcButtonIcon.css +1 -1
  4. package/library/assets/components/VcDelimitedList/VcDelimitedList.css +1 -1
  5. package/library/assets/components/VcExcelUploader/VcExcelFileUploadBlock.css +1 -1
  6. package/library/assets/components/VcModal/VcModal.css +1 -1
  7. package/library/assets/components/VcSoundplayer/VcSoundPlayer.css +1 -1
  8. package/library/assets/components/VcSplitButton/VcSplitButton.css +1 -1
  9. package/library/assets/components/VcTable/VcTable.css +1 -1
  10. package/library/assets/entity/components/Form/VcBaseVerticalForm.css +1 -1
  11. package/library/assets/entity/components/Table/VcEntityListTable.css +1 -1
  12. package/library/assets/entity/components/Tabs/VcEntityEditableTabs.css +1 -1
  13. package/library/components/VcButton/VcButton.vue.mjs +3 -2
  14. package/library/components/VcButton/VcButtonIcon.vue.mjs +92 -5
  15. package/library/components/VcButton/VcButtonIcon.vue3.mjs +5 -0
  16. package/library/components/VcButton/VcToggleButton.vue.mjs +20 -7
  17. package/library/components/VcDelimitedList/VcDelimitedList.vue.mjs +194 -5
  18. package/library/components/VcDelimitedList/VcDelimitedList.vue3.mjs +5 -0
  19. package/library/components/VcExcelUploader/VcExcelFileUploadBlock.vue.mjs +140 -5
  20. package/library/components/VcExcelUploader/VcExcelFileUploadBlock.vue3.mjs +5 -0
  21. package/library/components/VcExcelUploader/VcExcelFileUploader.vue.mjs +6 -5
  22. package/library/components/VcExcelUploader/VcFileImportParseResultBlock.vue.mjs +5 -3
  23. package/library/components/VcExcelUploader/VcFileImportResultBindDataTable.vue.mjs +21 -18
  24. package/library/components/VcExtendedDatetimeRangePicker/VcExtendedDatetimeRangePickerQuickOptionsSelection.vue.mjs +4 -3
  25. package/library/components/VcFileUploader/VcFileUploader.vue2.mjs +11 -9
  26. package/library/components/VcHtmlEditor/VcHtmlEditorToolbar.vue.mjs +10 -9
  27. package/library/components/VcIcon/VcIcon.vue.mjs +7 -3
  28. package/library/components/VcJsonSchema/Components/JsonSchemaEditor.vue.mjs +8 -7
  29. package/library/components/VcJsonSchema/PropertySetup/JsonSchemaPropertyModal.vue.mjs +10 -9
  30. package/library/components/VcMdEditor/ParameterNode.vue2.mjs +6 -5
  31. package/library/components/VcMdEditor/VcMdEditor.vue.mjs +8 -7
  32. package/library/components/VcPagination/VcPaginationButton.vue.mjs +3 -2
  33. package/library/components/VcSelect/VcSelect.vue.mjs +9 -5
  34. package/library/components/VcSoundplayer/VcSoundPlayer.vue.mjs +274 -5
  35. package/library/components/VcSoundplayer/VcSoundPlayer.vue3.mjs +5 -0
  36. package/library/components/VcSplitButton/VcSplitButton.vue.mjs +4 -3
  37. package/library/components/VcTable/VcTable.vue.mjs +1069 -6
  38. package/library/components/VcTable/VcTable.vue4.mjs +6 -0
  39. package/library/components/VcTree/VcTreeSelect.vue.mjs +8 -7
  40. package/library/entity/components/Button/VcEntityDeleteIconButton.vue.mjs +3 -2
  41. package/library/entity/components/Button/VcEntityEditIconButton.vue.mjs +3 -2
  42. package/library/entity/components/Form/VcBaseVerticalForm.vue.mjs +95 -5
  43. package/library/entity/components/Form/VcBaseVerticalForm.vue3.mjs +5 -0
  44. package/library/entity/components/Form/VcEntityVerticalCreateForm.vue.mjs +3 -2
  45. package/library/entity/components/Form/VcEntityVerticalEditForm.vue.mjs +9 -8
  46. package/library/entity/components/Table/VcEntityListTable.vue.mjs +414 -5
  47. package/library/entity/components/Table/VcEntityListTable.vue3.mjs +5 -0
  48. package/library/entity/components/Tabs/VcEntityEditableTabs.vue.mjs +287 -5
  49. package/library/entity/components/Tabs/VcEntityEditableTabs.vue3.mjs +5 -0
  50. package/library/index.mjs +8 -0
  51. package/library/index.mjs.br +0 -0
  52. package/library/index.mjs.gz +0 -0
  53. package/library/plugin.mjs +272 -264
  54. package/library/plugin.mjs.br +0 -0
  55. package/library/plugin.mjs.gz +0 -0
  56. package/library/style.css +12 -12
  57. package/library/style.css.br +0 -0
  58. package/library/style.css.gz +0 -0
  59. package/library/types/components/VcButton/VcButton.vue.d.ts +1 -1
  60. package/library/types/components/VcButton/VcToggleButton.vue.d.ts +4 -0
  61. package/library/types/components/VcDelimitedList/VcDelimitedList.vue.d.ts +1 -2
  62. package/library/types/components/VcIcon/VcIcon.vue.d.ts +1 -0
  63. package/library/types/components/VcLoading/VcLoading.vue.d.ts +1 -1
  64. package/library/types/components/VcOtpInput/VcOtpInput.vue.d.ts +1 -1
  65. package/library/types/components/VcSelect/VcSelect.vue.d.ts +3 -3
  66. package/library/types/components/VcSelect/VcSelectGrouped.vue.d.ts +3 -3
  67. package/library/types/components/VcSipFlow/VcSipFlow.vue.d.ts +1 -1
  68. package/library/types/components/VcSplitButton/VcSplitButton.vue.d.ts +1 -1
  69. package/library/types/components/VcSwitch/VcSwitch.vue.d.ts +3 -3
  70. package/library/types/components/VcTable/VcTable.vue.d.ts +3 -3
  71. package/library/types/components/VcTree/VcTree.vue.d.ts +3 -3
  72. package/library/types/components/VcTree/VcTreeSelect.vue.d.ts +3 -3
  73. package/package.json +1 -1
  74. package/library/components/VcButton/VcButtonIcon.vue2.mjs +0 -92
  75. package/library/components/VcDelimitedList/VcDelimitedList.vue2.mjs +0 -195
  76. package/library/components/VcExcelUploader/VcExcelFileUploadBlock.vue2.mjs +0 -141
  77. package/library/components/VcSoundplayer/VcSoundPlayer.vue2.mjs +0 -275
  78. package/library/components/VcTable/VcTable.vue2.mjs +0 -1069
  79. package/library/entity/components/Form/VcBaseVerticalForm.vue2.mjs +0 -96
  80. package/library/entity/components/Table/VcEntityListTable.vue2.mjs +0 -413
  81. package/library/entity/components/Tabs/VcEntityEditableTabs.vue2.mjs +0 -288
@@ -1,288 +0,0 @@
1
- import { defineComponent, ref, computed, watch, openBlock, createBlock, isRef, unref, withCtx, createElementBlock, Fragment, renderList, renderSlot, createCommentVNode } from "vue";
2
- import { LIST_TAB_QUERY_VALUE, CREATE_TAB_QUERY_VALUE } from "../../../enum/constants.mjs";
3
- import _sfc_main$1 from "../../../components/VcTabs/VcTabs.vue.mjs";
4
- import '../../../assets/components/VcTabs/VcTabPane.css';import '../../../assets/components/VcTabs/VcTabs.css';/* empty css */
5
- import { useVModel } from "@vueuse/core";
6
- import { isEqual } from "lodash-es";
7
- import { useTabsEditableDataProvide } from "../../composable/useEntityTabsProvideInject.mjs";
8
- import _sfc_main$2 from "../../../components/VcTabs/VcTabPane.vue.mjs";
9
- /* empty css */
10
- import { Plus, Pencil, List } from "@lucide/vue";
11
- const _sfc_main = /* @__PURE__ */ defineComponent({
12
- __name: "VcEntityEditableTabs",
13
- props: {
14
- entity: {},
15
- entityMethodDataType: { default: void 0 },
16
- hideCreateTab: { type: Boolean, default: false },
17
- lazyLoad: { type: Boolean, default: false },
18
- modelValue: { default: LIST_TAB_QUERY_VALUE },
19
- queryTabName: { default: "" },
20
- confirmClose: { type: Function, default: void 0 },
21
- tabListIcon: { default: () => List },
22
- tabEditIcon: { default: () => Pencil },
23
- tabCreateIcon: { default: () => Plus }
24
- },
25
- emits: ["update:modelValue", "close-tab", "tab-change", "permission-error"],
26
- setup(__props, { expose: __expose, emit: __emit }) {
27
- const TAB_ICONS = {
28
- list: List,
29
- edit: Pencil,
30
- add: Plus
31
- };
32
- const props = __props;
33
- const emit = __emit;
34
- const vcTabs = ref(null);
35
- const editTabs = ref([]);
36
- const activeTabModel = useVModel(
37
- props,
38
- "modelValue",
39
- emit
40
- );
41
- const editableTabsData = ref({});
42
- const dataTabs = computed(() => {
43
- const listTab = {
44
- name: LIST_TAB_QUERY_VALUE,
45
- icon: props.tabListIcon ?? TAB_ICONS.list,
46
- label: props.entity.entityTypeListLabelTranslations
47
- };
48
- const editTabsList = [
49
- ...editTabs.value
50
- ];
51
- const tabs = [
52
- listTab,
53
- ...editTabsList
54
- ];
55
- if (!props.hideCreateTab) {
56
- return [
57
- ...tabs,
58
- {
59
- name: CREATE_TAB_QUERY_VALUE,
60
- icon: props.tabCreateIcon ?? TAB_ICONS.add,
61
- label: "",
62
- navClass: "create-nav-tab",
63
- disabled: !props.entity.canCreate()
64
- }
65
- ];
66
- } else {
67
- return tabs;
68
- }
69
- });
70
- function isTabActive(tabName) {
71
- return activeTabModel.value === tabName;
72
- }
73
- function setActiveTabByRouteQueryValue() {
74
- const queryTabName = props.queryTabName;
75
- if (typeof queryTabName !== "string") {
76
- return;
77
- }
78
- const tabFromOpened = dataTabs.value.find(({ name }) => name === queryTabName);
79
- if (tabFromOpened) {
80
- if (queryTabName === CREATE_TAB_QUERY_VALUE && !props.entity.canCreate()) {
81
- return;
82
- }
83
- activeTabModel.value = tabFromOpened.name;
84
- } else {
85
- try {
86
- const parsedQueryTabName = parseInt(queryTabName);
87
- if (isNaN(parsedQueryTabName)) return;
88
- props.entity.info(parsedQueryTabName).then((res) => {
89
- const _res = res;
90
- if (!_res) {
91
- return;
92
- }
93
- if (props.entity.canEdit(_res)) {
94
- openEditTab(_res);
95
- } else {
96
- emit("permission-error", {
97
- tabName: queryTabName,
98
- response: _res
99
- });
100
- }
101
- });
102
- } catch {
103
- console.error("Error while trying to load data for id:", queryTabName);
104
- }
105
- }
106
- }
107
- function onActiveTabChange(tabName) {
108
- emit("tab-change", tabName);
109
- }
110
- function openEditTab(entityData) {
111
- if (!entityData) {
112
- return;
113
- }
114
- const entityName = props.entity.getEntityName(entityData) || "";
115
- const tabName = createTabName(entityData);
116
- if (!tabName) {
117
- console.error("Cannot extract name from", entityData);
118
- return;
119
- }
120
- const isTabOpened = dataTabs.value.find(({ name }) => name === tabName);
121
- if (!isTabOpened) {
122
- const newTab = {
123
- entityData,
124
- label: entityName,
125
- name: tabName
126
- };
127
- editTabs.value.push(newTab);
128
- }
129
- activeTabModel.value = tabName;
130
- }
131
- function checkTabDataIsUpdated(tabName, entityTabData) {
132
- const editableData = editableTabsData.value[+tabName];
133
- let isEditable = false;
134
- if (entityTabData && editableData) {
135
- const _entityTabData = entityTabData;
136
- Object.keys(_entityTabData).forEach((key) => {
137
- const _key = key;
138
- const _objectValue = _entityTabData[_key];
139
- if (!Array.isArray(_objectValue)) {
140
- if (typeof _objectValue === "object") {
141
- if (!isEqual(_objectValue, _entityTabData[_key])) {
142
- isEditable = true;
143
- }
144
- } else {
145
- if (_objectValue !== _entityTabData[_key]) {
146
- isEditable = true;
147
- }
148
- }
149
- }
150
- });
151
- }
152
- return isEditable;
153
- }
154
- function onTabRemove(tabName) {
155
- const tabIndex = editTabs.value.findIndex(({ name }) => name === tabName);
156
- const _entityTabData = editTabs.value[tabIndex].entityData;
157
- const isUpdated = checkTabDataIsUpdated(tabName, _entityTabData);
158
- if (isUpdated && props.confirmClose) {
159
- props.confirmClose(_entityTabData).then((res) => {
160
- if (res) {
161
- removeTab(tabName);
162
- }
163
- });
164
- } else {
165
- removeTab(tabName);
166
- }
167
- }
168
- function clearEditableData(tabName) {
169
- if (editableTabsData.value[tabName]) {
170
- delete editableTabsData.value[tabName];
171
- }
172
- }
173
- function createTabName(entity) {
174
- if (!entity) return void 0;
175
- const entityId = props.entity.getEntityId(entity);
176
- return entityId == null ? void 0 : entityId.toString();
177
- }
178
- function removeTab(tabName) {
179
- const tabIndex = editTabs.value.findIndex(({ name }) => name === tabName);
180
- if (tabIndex !== -1) {
181
- if (isTabActive(tabName)) {
182
- openListTab();
183
- }
184
- editTabs.value.splice(tabIndex, 1);
185
- clearEditableData(tabName);
186
- }
187
- emit("close-tab", tabName);
188
- }
189
- function closeActiveTab() {
190
- onTabRemove(activeTabModel.value);
191
- }
192
- function getTabIcon(tab) {
193
- if (tab.name === CREATE_TAB_QUERY_VALUE || tab.name === LIST_TAB_QUERY_VALUE) {
194
- return tab.icon;
195
- }
196
- return props.tabEditIcon ?? TAB_ICONS.edit;
197
- }
198
- function openListTab() {
199
- activeTabModel.value = LIST_TAB_QUERY_VALUE;
200
- }
201
- function openCreateTab() {
202
- activeTabModel.value = CREATE_TAB_QUERY_VALUE;
203
- }
204
- function setFirstActiveTab() {
205
- var _a;
206
- (_a = vcTabs.value) == null ? void 0 : _a.setFirstActiveTab();
207
- }
208
- function setLastActiveTab() {
209
- var _a;
210
- (_a = vcTabs.value) == null ? void 0 : _a.setLastActiveTab();
211
- }
212
- function togglePreviousTab() {
213
- var _a;
214
- (_a = vcTabs.value) == null ? void 0 : _a.togglePreviousTab();
215
- }
216
- function toggleNextTab() {
217
- var _a;
218
- (_a = vcTabs.value) == null ? void 0 : _a.toggleNextTab();
219
- }
220
- watch(activeTabModel, onActiveTabChange);
221
- setActiveTabByRouteQueryValue();
222
- useTabsEditableDataProvide({
223
- editableModels: editableTabsData,
224
- updateEditableModel: (data) => {
225
- const _id = props.entity.getEntityId(data.value);
226
- if (_id !== void 0) {
227
- editableTabsData.value[_id] = data;
228
- }
229
- }
230
- });
231
- __expose({
232
- createTabName,
233
- removeTab,
234
- closeActiveTab,
235
- openEditTab,
236
- openListTab,
237
- openCreateTab,
238
- setFirstActiveTab,
239
- setLastActiveTab,
240
- togglePreviousTab,
241
- toggleNextTab,
242
- getActiveTab: () => activeTabModel.value
243
- });
244
- return (_ctx, _cache) => {
245
- return openBlock(), createBlock(_sfc_main$1, {
246
- ref_key: "vcTabs",
247
- ref: vcTabs,
248
- modelValue: unref(activeTabModel),
249
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(activeTabModel) ? activeTabModel.value = $event : null),
250
- class: "vc-editable-tabs",
251
- "open-by-form-validate": false,
252
- "nav-scrollable": "",
253
- onTabRemove
254
- }, {
255
- default: withCtx(() => [
256
- (openBlock(true), createElementBlock(Fragment, null, renderList(dataTabs.value, (tabItem, index) => {
257
- return openBlock(), createBlock(_sfc_main$2, {
258
- key: tabItem.name || `edit-tab-${index + 1}`,
259
- name: tabItem.name,
260
- index,
261
- label: tabItem.label,
262
- closable: tabItem.name !== "list" && tabItem.name !== "create",
263
- icon: getTabIcon(tabItem),
264
- lazy: __props.lazyLoad,
265
- disabled: tabItem.disabled,
266
- "nav-class": tabItem.navClass,
267
- class: "pt-3"
268
- }, {
269
- default: withCtx(() => [
270
- tabItem.name === "list" ? renderSlot(_ctx.$slots, "tab-list", { key: 0 }, void 0, true) : tabItem.name === "create" ? renderSlot(_ctx.$slots, "tab-create", { key: 1 }, void 0, true) : tabItem.entityData ? renderSlot(_ctx.$slots, "tab-edit", {
271
- key: 2,
272
- index,
273
- tabData: tabItem,
274
- entity: tabItem.entityData
275
- }, void 0, true) : createCommentVNode("", true)
276
- ]),
277
- _: 2
278
- }, 1032, ["name", "index", "label", "closable", "icon", "lazy", "disabled", "nav-class"]);
279
- }), 128))
280
- ]),
281
- _: 3
282
- }, 8, ["modelValue"]);
283
- };
284
- }
285
- });
286
- export {
287
- _sfc_main as default
288
- };