@pitcher/canvas-ui 2025.12.5-132019-beta → 2025.12.5-135644-beta
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/canvas-ui.js +37 -11
- package/canvas-ui.js.map +1 -1
- package/lib/components/canvas-templates/CTemplateManagement.vue.d.ts +0 -2
- package/lib/sdk/api/HighLevelApi.d.ts +1 -0
- package/lib/sdk/api/modules/query.d.ts +26 -1
- package/lib/sdk/main.d.ts +3 -0
- package/lib/sdk/payload.types.d.ts +22 -0
- package/lib/types/canvases.d.ts +1 -1
- package/package.json +1 -1
package/canvas-ui.js
CHANGED
|
@@ -87748,6 +87748,36 @@ function crmSmartObjectValidationRules(payload) {
|
|
|
87748
87748
|
}
|
|
87749
87749
|
return highLevelApi.API.request("crm_smart_object_validation_rules", payload);
|
|
87750
87750
|
}
|
|
87751
|
+
function crmSmartDeleteObjects(payload) {
|
|
87752
|
+
if (!payload || !payload.objects || !Array.isArray(payload.objects)) {
|
|
87753
|
+
return Promise.reject(new Error("Payload must contain an array of objects"));
|
|
87754
|
+
}
|
|
87755
|
+
if (payload.objects.length === 0) {
|
|
87756
|
+
return Promise.reject(new Error("Objects array cannot be empty"));
|
|
87757
|
+
}
|
|
87758
|
+
for (const obj of payload.objects) {
|
|
87759
|
+
if (!obj) {
|
|
87760
|
+
return Promise.reject(new Error("Objects array cannot contain null or undefined elements"));
|
|
87761
|
+
}
|
|
87762
|
+
if (!obj.table_name || typeof obj.table_name !== "string" || obj.table_name.trim() === "") {
|
|
87763
|
+
return Promise.reject(new Error("Each object must have a valid non-empty table_name"));
|
|
87764
|
+
}
|
|
87765
|
+
if (!obj.ids || !Array.isArray(obj.ids) || obj.ids.length === 0) {
|
|
87766
|
+
return Promise.reject(new Error(`Object for table ${obj.table_name} must have a non-empty ids array`));
|
|
87767
|
+
}
|
|
87768
|
+
for (let i = 0; i < obj.ids.length; i++) {
|
|
87769
|
+
const id = obj.ids[i];
|
|
87770
|
+
if (!id || typeof id !== "string" || id.trim() === "") {
|
|
87771
|
+
return Promise.reject(
|
|
87772
|
+
new Error(
|
|
87773
|
+
`Object for table ${obj.table_name} contains invalid id at index ${i}. All IDs must be non-empty strings.`
|
|
87774
|
+
)
|
|
87775
|
+
);
|
|
87776
|
+
}
|
|
87777
|
+
}
|
|
87778
|
+
}
|
|
87779
|
+
return highLevelApi.API.request("crm_smart_delete_objects", payload);
|
|
87780
|
+
}
|
|
87751
87781
|
|
|
87752
87782
|
function getFolders(payload) {
|
|
87753
87783
|
return this.API.request("get_folders", payload);
|
|
@@ -87845,6 +87875,7 @@ const modules = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
|
87845
87875
|
createFile,
|
|
87846
87876
|
createFolder,
|
|
87847
87877
|
crmQuery,
|
|
87878
|
+
crmSmartDeleteObjects,
|
|
87848
87879
|
crmSmartObjectMetadata,
|
|
87849
87880
|
crmSmartObjectValidationRules,
|
|
87850
87881
|
crmSmartQuery,
|
|
@@ -113054,8 +113085,7 @@ const _sfc_main$4E = /*@__PURE__*/defineComponent({
|
|
|
113054
113085
|
},
|
|
113055
113086
|
isAnyTypeOfAdmin: {
|
|
113056
113087
|
type: Boolean
|
|
113057
|
-
}
|
|
113058
|
-
excludedTags: {}
|
|
113088
|
+
}
|
|
113059
113089
|
},
|
|
113060
113090
|
emits: ["open", "details", "edit", "create", "convert", "createFromTemplate", "move", "manageDistribution"],
|
|
113061
113091
|
setup(__props, {
|
|
@@ -113180,7 +113210,7 @@ const _sfc_main$4E = /*@__PURE__*/defineComponent({
|
|
|
113180
113210
|
const filteredData = computed(() => {
|
|
113181
113211
|
if (!search.value) return fetchedData.value;
|
|
113182
113212
|
const currSearch = (search.value ?? '').toLocaleLowerCase();
|
|
113183
|
-
return fetchedData.value.filter(
|
|
113213
|
+
return fetchedData.value.filter(section => (section.name.toLocaleLowerCase().includes(currSearch) || section?.tags?.some(tag => tag.toLocaleLowerCase().includes(currSearch))) ?? false);
|
|
113184
113214
|
});
|
|
113185
113215
|
const showBulkToolbar = computed(() => isTemplateFolderEnabled.value ? selectedItemIds.value.length > 0 : tableRef.value?.selectedRowsCount);
|
|
113186
113216
|
const bulkToolbarCount = computed(() => isTemplateFolderEnabled.value ? totalCount.value : tableRef.value?.pageRowsCount ?? 0);
|
|
@@ -113841,8 +113871,7 @@ const _sfc_main$4E = /*@__PURE__*/defineComponent({
|
|
|
113841
113871
|
isFetchingData.value = true;
|
|
113842
113872
|
const response = await props.folderFetcher?.({
|
|
113843
113873
|
folder_id: params.folder_id,
|
|
113844
|
-
entity: CoreFolderEntityType.Template
|
|
113845
|
-
tags__not_in: props.excludedTags?.length ? props.excludedTags.join(',') : undefined
|
|
113874
|
+
entity: CoreFolderEntityType.Template
|
|
113846
113875
|
});
|
|
113847
113876
|
fetchedData.value = [...(response.folders ?? []).map(folder => ({
|
|
113848
113877
|
type: 'folder',
|
|
@@ -113909,8 +113938,7 @@ const _sfc_main$4E = /*@__PURE__*/defineComponent({
|
|
|
113909
113938
|
is_template: props.canvasType === 'template' || props.canvasType === 'section-template',
|
|
113910
113939
|
is_section: props.canvasType === 'section-template',
|
|
113911
113940
|
fields: fetchFields.join(','),
|
|
113912
|
-
id__in: idsToInclude?.length ? idsToInclude.slice(0, requestParams.page_size).join(',') : undefined
|
|
113913
|
-
tags__not_in: props.excludedTags?.length ? props.excludedTags.join(',') : undefined
|
|
113941
|
+
id__in: idsToInclude?.length ? idsToInclude.slice(0, requestParams.page_size).join(',') : undefined
|
|
113914
113942
|
})];
|
|
113915
113943
|
|
|
113916
113944
|
// only show all recommended sections if on the first page
|
|
@@ -113921,8 +113949,7 @@ const _sfc_main$4E = /*@__PURE__*/defineComponent({
|
|
|
113921
113949
|
is_template: props.canvasType === 'template' || props.canvasType === 'section-template',
|
|
113922
113950
|
is_section: props.canvasType === 'section-template',
|
|
113923
113951
|
fields: fetchFields.join(','),
|
|
113924
|
-
id__in: recommendedIds.value.join(',')
|
|
113925
|
-
tags__not_in: props.excludedTags?.length ? props.excludedTags.join(',') : undefined
|
|
113952
|
+
id__in: recommendedIds.value.join(',')
|
|
113926
113953
|
}));
|
|
113927
113954
|
const [response, recommendedResponse] = await Promise.all(requestPromises);
|
|
113928
113955
|
if (recommendedResponse && recommendedResponse.results?.length) {
|
|
@@ -113954,8 +113981,7 @@ const _sfc_main$4E = /*@__PURE__*/defineComponent({
|
|
|
113954
113981
|
isFetchingLevel.value = true;
|
|
113955
113982
|
const response = await props.folderFetcher?.({
|
|
113956
113983
|
folder_id: folderId,
|
|
113957
|
-
entity: CoreFolderEntityType.Template
|
|
113958
|
-
tags__not_in: props.excludedTags?.length ? props.excludedTags.join(',') : undefined
|
|
113984
|
+
entity: CoreFolderEntityType.Template
|
|
113959
113985
|
});
|
|
113960
113986
|
if (response?.id) {
|
|
113961
113987
|
// TODO: filter out selected items once bulk actions are implemented
|