@pitcher/canvas-ui 2025.12.18-75050 → 2025.12.19-090420-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.css +17 -17
- package/canvas-ui.js +579 -43
- package/canvas-ui.js.map +1 -1
- package/lib/apps/canvas-builder/composables/useCanvas.d.ts +5 -0
- package/lib/composables/useSmartStore.d.ts +25 -0
- package/lib/main.lib.d.ts +2 -0
- package/lib/sdk/api/HighLevelApi.d.ts +1 -0
- package/lib/sdk/api/modules/query.d.ts +16 -0
- package/lib/sdk/main.d.ts +3 -0
- package/lib/types/instanceSettings.types.d.ts +1 -0
- package/lib/util/smart-store.util.d.ts +40 -0
- package/lib/util/smart-store.util.spec.d.ts +1 -0
- package/locale/de.json +0 -1
- package/locale/el.json +0 -1
- package/locale/en.json +0 -1
- package/locale/es.json +0 -1
- package/locale/fr.json +0 -1
- package/locale/it.json +0 -1
- package/locale/ja.json +0 -1
- package/locale/nl.json +0 -1
- package/locale/pl.json +0 -1
- package/locale/pt-br.json +0 -1
- package/locale/pt.json +0 -1
- package/locale/th.json +0 -1
- package/locale/tr.json +0 -1
- package/locale/zh.json +0 -1
- package/package.json +1 -1
package/canvas-ui.js
CHANGED
|
@@ -79751,7 +79751,6 @@ const _sfc_main$6C = /* @__PURE__ */ defineComponent({
|
|
|
79751
79751
|
);
|
|
79752
79752
|
const editingField = ref(null);
|
|
79753
79753
|
const showTagsComponent = ref(!props.showKeepAsIsPlaceholder);
|
|
79754
|
-
const initialExpiresAtOption = ref(props.modelValue.expiresAtOption);
|
|
79755
79754
|
const labels = {
|
|
79756
79755
|
sharing: t("canvasUI.browserApp.uploadFilesModal.sharing.label"),
|
|
79757
79756
|
tags: t("canvasUI.browserApp.uploadFilesModal.tags.label"),
|
|
@@ -79773,9 +79772,6 @@ const _sfc_main$6C = /* @__PURE__ */ defineComponent({
|
|
|
79773
79772
|
{ value: "expired" /* Expired */, label: t("canvasUI.browserApp.uploadFilesModal.expiresAt.options.expired") }
|
|
79774
79773
|
];
|
|
79775
79774
|
if (isFileExpirationMandatory.value) {
|
|
79776
|
-
if (initialExpiresAtOption.value === "never" /* Never */ || initialExpiresAtOption.value === null || initialExpiresAtOption.value === void 0) {
|
|
79777
|
-
return allOptions;
|
|
79778
|
-
}
|
|
79779
79775
|
return allOptions.filter((option) => option.value !== "never" /* Never */);
|
|
79780
79776
|
}
|
|
79781
79777
|
return allOptions;
|
|
@@ -87709,18 +87705,537 @@ function toast$2(payload) {
|
|
|
87709
87705
|
return this.API.request("toast", payload);
|
|
87710
87706
|
}
|
|
87711
87707
|
|
|
87708
|
+
const SQL_KEYWORDS = /* @__PURE__ */ new Set([
|
|
87709
|
+
"SELECT",
|
|
87710
|
+
"FROM",
|
|
87711
|
+
"WHERE",
|
|
87712
|
+
"AND",
|
|
87713
|
+
"OR",
|
|
87714
|
+
"NOT",
|
|
87715
|
+
"IN",
|
|
87716
|
+
"LIKE",
|
|
87717
|
+
"ORDER",
|
|
87718
|
+
"BY",
|
|
87719
|
+
"GROUP",
|
|
87720
|
+
"HAVING",
|
|
87721
|
+
"LIMIT",
|
|
87722
|
+
"OFFSET",
|
|
87723
|
+
"ASC",
|
|
87724
|
+
"DESC",
|
|
87725
|
+
"NULLS",
|
|
87726
|
+
"FIRST",
|
|
87727
|
+
"LAST",
|
|
87728
|
+
"NULL",
|
|
87729
|
+
"TRUE",
|
|
87730
|
+
"FALSE",
|
|
87731
|
+
"COUNT",
|
|
87732
|
+
"SUM",
|
|
87733
|
+
"AVG",
|
|
87734
|
+
"MIN",
|
|
87735
|
+
"MAX",
|
|
87736
|
+
"COUNT_DISTINCT",
|
|
87737
|
+
"CALENDAR_MONTH",
|
|
87738
|
+
"CALENDAR_QUARTER",
|
|
87739
|
+
"CALENDAR_YEAR",
|
|
87740
|
+
"DAY_IN_MONTH",
|
|
87741
|
+
"DAY_IN_WEEK",
|
|
87742
|
+
"DAY_IN_YEAR",
|
|
87743
|
+
"DAY_ONLY",
|
|
87744
|
+
"FISCAL_MONTH",
|
|
87745
|
+
"FISCAL_QUARTER",
|
|
87746
|
+
"FISCAL_YEAR",
|
|
87747
|
+
"HOUR_IN_DAY",
|
|
87748
|
+
"WEEK_IN_MONTH",
|
|
87749
|
+
"WEEK_IN_YEAR",
|
|
87750
|
+
"INCLUDES",
|
|
87751
|
+
"EXCLUDES",
|
|
87752
|
+
"ABOVE",
|
|
87753
|
+
"BELOW",
|
|
87754
|
+
"ABOVE_OR_BELOW",
|
|
87755
|
+
"AT",
|
|
87756
|
+
"TYPEOF",
|
|
87757
|
+
"WHEN",
|
|
87758
|
+
"THEN",
|
|
87759
|
+
"ELSE",
|
|
87760
|
+
"END",
|
|
87761
|
+
"USING",
|
|
87762
|
+
"SCOPE",
|
|
87763
|
+
"DATA",
|
|
87764
|
+
"CATEGORY",
|
|
87765
|
+
"ROLLUP",
|
|
87766
|
+
"CUBE",
|
|
87767
|
+
"FORMAT",
|
|
87768
|
+
"CONVERTCURRENCY",
|
|
87769
|
+
"TOLABEL",
|
|
87770
|
+
"DISTANCE",
|
|
87771
|
+
"GEOLOCATION"
|
|
87772
|
+
]);
|
|
87773
|
+
const AGGREGATE_FUNCTIONS = ["COUNT", "SUM", "AVG", "MIN", "MAX", "COUNT_DISTINCT"];
|
|
87774
|
+
function isSqlKeyword(word) {
|
|
87775
|
+
return SQL_KEYWORDS.has(word.toUpperCase());
|
|
87776
|
+
}
|
|
87777
|
+
function isLiteralValue(value) {
|
|
87778
|
+
const trimmed = value.trim();
|
|
87779
|
+
if (trimmed.startsWith("'") && trimmed.endsWith("'") || trimmed.startsWith('"') && trimmed.endsWith('"')) {
|
|
87780
|
+
return true;
|
|
87781
|
+
}
|
|
87782
|
+
if (/^-?\d+(\.\d+)?$/.test(trimmed)) {
|
|
87783
|
+
return true;
|
|
87784
|
+
}
|
|
87785
|
+
if (/^(true|false)$/i.test(trimmed)) {
|
|
87786
|
+
return true;
|
|
87787
|
+
}
|
|
87788
|
+
if (/^null$/i.test(trimmed)) {
|
|
87789
|
+
return true;
|
|
87790
|
+
}
|
|
87791
|
+
if (/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?(Z|[+-]\d{2}:\d{2})?)?$/.test(trimmed)) {
|
|
87792
|
+
return true;
|
|
87793
|
+
}
|
|
87794
|
+
if (/^(TODAY|YESTERDAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|LAST_N_DAYS:\d+|NEXT_N_DAYS:\d+|LAST_N_WEEKS:\d+|NEXT_N_WEEKS:\d+|LAST_N_MONTHS:\d+|NEXT_N_MONTHS:\d+|LAST_N_QUARTERS:\d+|NEXT_N_QUARTERS:\d+|LAST_N_YEARS:\d+|NEXT_N_YEARS:\d+|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)$/i.test(
|
|
87795
|
+
trimmed
|
|
87796
|
+
)) {
|
|
87797
|
+
return true;
|
|
87798
|
+
}
|
|
87799
|
+
return false;
|
|
87800
|
+
}
|
|
87801
|
+
function isDateTimeLiteral(token) {
|
|
87802
|
+
return /^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?(Z|[+-]\d{2}:\d{2})?)?$/.test(token);
|
|
87803
|
+
}
|
|
87804
|
+
function convertFieldToSmartStore(field, primaryObject, objectAliases) {
|
|
87805
|
+
const trimmed = field.trim();
|
|
87806
|
+
if (isSqlKeyword(trimmed) || isLiteralValue(trimmed)) {
|
|
87807
|
+
return trimmed;
|
|
87808
|
+
}
|
|
87809
|
+
if (trimmed === "__FIELDS_ALL_PLACEHOLDER__") {
|
|
87810
|
+
return `{${primaryObject}:_soup}`;
|
|
87811
|
+
}
|
|
87812
|
+
if (trimmed === "*") {
|
|
87813
|
+
return "*";
|
|
87814
|
+
}
|
|
87815
|
+
if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
|
|
87816
|
+
return trimmed;
|
|
87817
|
+
}
|
|
87818
|
+
if (trimmed.includes(".")) {
|
|
87819
|
+
const parts = trimmed.split(".");
|
|
87820
|
+
const alias = parts[0];
|
|
87821
|
+
if (objectAliases.has(alias.toLowerCase()) && objectAliases.get(alias.toLowerCase()) === primaryObject) {
|
|
87822
|
+
const fieldPath = parts.slice(1).join(".");
|
|
87823
|
+
return `{${primaryObject}:${fieldPath}}`;
|
|
87824
|
+
}
|
|
87825
|
+
return `{${primaryObject}:${trimmed}}`;
|
|
87826
|
+
}
|
|
87827
|
+
return `{${primaryObject}:${trimmed}}`;
|
|
87828
|
+
}
|
|
87829
|
+
function convertAggregateFunction(expr, primaryObject, objectAliases) {
|
|
87830
|
+
for (const func of AGGREGATE_FUNCTIONS) {
|
|
87831
|
+
const regex = new RegExp(`\\b${func}\\s*\\(([^)]+)\\)`, "gi");
|
|
87832
|
+
expr = expr.replace(regex, (_match, innerField) => {
|
|
87833
|
+
const trimmedInner = innerField.trim();
|
|
87834
|
+
if (trimmedInner === "*") {
|
|
87835
|
+
return `${func}(*)`;
|
|
87836
|
+
}
|
|
87837
|
+
if (trimmedInner.toUpperCase().startsWith("DISTINCT ")) {
|
|
87838
|
+
const fieldPart = trimmedInner.substring(9).trim();
|
|
87839
|
+
const smartField2 = convertFieldToSmartStore(fieldPart, primaryObject, objectAliases);
|
|
87840
|
+
return `${func}(DISTINCT ${smartField2})`;
|
|
87841
|
+
}
|
|
87842
|
+
const smartField = convertFieldToSmartStore(trimmedInner, primaryObject, objectAliases);
|
|
87843
|
+
return `${func}(${smartField})`;
|
|
87844
|
+
});
|
|
87845
|
+
}
|
|
87846
|
+
return expr;
|
|
87847
|
+
}
|
|
87848
|
+
function parseSelectFields(selectClause) {
|
|
87849
|
+
const fields = [];
|
|
87850
|
+
let depth = 0;
|
|
87851
|
+
let currentField = "";
|
|
87852
|
+
for (let i = 0; i < selectClause.length; i++) {
|
|
87853
|
+
const char = selectClause[i];
|
|
87854
|
+
if (char === "(") {
|
|
87855
|
+
depth++;
|
|
87856
|
+
currentField += char;
|
|
87857
|
+
} else if (char === ")") {
|
|
87858
|
+
depth--;
|
|
87859
|
+
currentField += char;
|
|
87860
|
+
} else if (char === "," && depth === 0) {
|
|
87861
|
+
if (currentField.trim()) {
|
|
87862
|
+
fields.push(currentField.trim());
|
|
87863
|
+
}
|
|
87864
|
+
currentField = "";
|
|
87865
|
+
} else {
|
|
87866
|
+
currentField += char;
|
|
87867
|
+
}
|
|
87868
|
+
}
|
|
87869
|
+
if (currentField.trim()) {
|
|
87870
|
+
fields.push(currentField.trim());
|
|
87871
|
+
}
|
|
87872
|
+
return fields;
|
|
87873
|
+
}
|
|
87874
|
+
function convertSelectFields(fields, primaryObject, objectAliases) {
|
|
87875
|
+
return fields.map((field) => {
|
|
87876
|
+
const aliasMatch = field.match(/^(.+?)\s+(?:AS\s+)?([A-Za-z_][A-Za-z0-9_]*)$/i);
|
|
87877
|
+
let expression = field;
|
|
87878
|
+
let alias = "";
|
|
87879
|
+
if (aliasMatch) {
|
|
87880
|
+
expression = aliasMatch[1].trim();
|
|
87881
|
+
alias = aliasMatch[2];
|
|
87882
|
+
}
|
|
87883
|
+
const hasAggregate = AGGREGATE_FUNCTIONS.some((func) => new RegExp(`\\b${func}\\s*\\(`, "i").test(expression));
|
|
87884
|
+
if (hasAggregate) {
|
|
87885
|
+
const converted2 = convertAggregateFunction(expression, primaryObject, objectAliases);
|
|
87886
|
+
return alias ? `${converted2} ${alias}` : converted2;
|
|
87887
|
+
}
|
|
87888
|
+
const converted = convertFieldToSmartStore(expression, primaryObject, objectAliases);
|
|
87889
|
+
return alias ? `${converted} ${alias}` : converted;
|
|
87890
|
+
});
|
|
87891
|
+
}
|
|
87892
|
+
function convertNullComparisons(clause) {
|
|
87893
|
+
let result = clause.replace(/\s*!=\s*null\b/gi, " IS NOT NULL");
|
|
87894
|
+
result = result.replace(/\s*<>\s*null\b/gi, " IS NOT NULL");
|
|
87895
|
+
result = result.replace(/\s*=\s*null\b/gi, " IS NULL");
|
|
87896
|
+
return result;
|
|
87897
|
+
}
|
|
87898
|
+
function convertWhereClause(whereClause, primaryObject, objectAliases) {
|
|
87899
|
+
let result = "";
|
|
87900
|
+
let i = 0;
|
|
87901
|
+
const len = whereClause.length;
|
|
87902
|
+
while (i < len) {
|
|
87903
|
+
const char = whereClause[i];
|
|
87904
|
+
if (/\s/.test(char)) {
|
|
87905
|
+
result += char;
|
|
87906
|
+
i++;
|
|
87907
|
+
continue;
|
|
87908
|
+
}
|
|
87909
|
+
if (char === "'" || char === '"') {
|
|
87910
|
+
const quote = char;
|
|
87911
|
+
result += char;
|
|
87912
|
+
i++;
|
|
87913
|
+
while (i < len && whereClause[i] !== quote) {
|
|
87914
|
+
if (whereClause[i] === "\\" && i + 1 < len) {
|
|
87915
|
+
result += whereClause[i] + whereClause[i + 1];
|
|
87916
|
+
i += 2;
|
|
87917
|
+
} else {
|
|
87918
|
+
result += whereClause[i];
|
|
87919
|
+
i++;
|
|
87920
|
+
}
|
|
87921
|
+
}
|
|
87922
|
+
if (i < len) {
|
|
87923
|
+
result += whereClause[i];
|
|
87924
|
+
i++;
|
|
87925
|
+
}
|
|
87926
|
+
continue;
|
|
87927
|
+
}
|
|
87928
|
+
if (/[()=<>!,]/.test(char)) {
|
|
87929
|
+
result += char;
|
|
87930
|
+
i++;
|
|
87931
|
+
if ((char === "!" || char === "<" || char === ">") && i < len && whereClause[i] === "=") {
|
|
87932
|
+
result += whereClause[i];
|
|
87933
|
+
i++;
|
|
87934
|
+
}
|
|
87935
|
+
continue;
|
|
87936
|
+
}
|
|
87937
|
+
if (/[a-zA-Z_]/.test(char)) {
|
|
87938
|
+
let identifier = "";
|
|
87939
|
+
while (i < len && /[a-zA-Z0-9_.]/.test(whereClause[i])) {
|
|
87940
|
+
identifier += whereClause[i];
|
|
87941
|
+
i++;
|
|
87942
|
+
}
|
|
87943
|
+
if (isSqlKeyword(identifier) || isLiteralValue(identifier)) {
|
|
87944
|
+
result += identifier;
|
|
87945
|
+
} else {
|
|
87946
|
+
result += convertFieldToSmartStore(identifier, primaryObject, objectAliases);
|
|
87947
|
+
}
|
|
87948
|
+
continue;
|
|
87949
|
+
}
|
|
87950
|
+
if (/[0-9-]/.test(char)) {
|
|
87951
|
+
let token = "";
|
|
87952
|
+
if (char === "-") {
|
|
87953
|
+
token += char;
|
|
87954
|
+
i++;
|
|
87955
|
+
}
|
|
87956
|
+
while (i < len && /[0-9.:\-TZ+]/.test(whereClause[i])) {
|
|
87957
|
+
token += whereClause[i];
|
|
87958
|
+
i++;
|
|
87959
|
+
}
|
|
87960
|
+
if (isDateTimeLiteral(token)) {
|
|
87961
|
+
result += `'${token}'`;
|
|
87962
|
+
} else {
|
|
87963
|
+
result += token;
|
|
87964
|
+
}
|
|
87965
|
+
continue;
|
|
87966
|
+
}
|
|
87967
|
+
result += char;
|
|
87968
|
+
i++;
|
|
87969
|
+
}
|
|
87970
|
+
result = convertNullComparisons(result);
|
|
87971
|
+
return result;
|
|
87972
|
+
}
|
|
87973
|
+
function parseOrderByClause(orderByClause) {
|
|
87974
|
+
const result = [];
|
|
87975
|
+
const parts = orderByClause.split(/,(?![^()]*\))/);
|
|
87976
|
+
for (const part of parts) {
|
|
87977
|
+
const trimmed = part.trim();
|
|
87978
|
+
if (!trimmed) continue;
|
|
87979
|
+
const match = trimmed.match(/^(.+?)\s*(ASC|DESC)?\s*(NULLS\s+(?:FIRST|LAST))?$/i);
|
|
87980
|
+
if (match) {
|
|
87981
|
+
const field = match[1].trim();
|
|
87982
|
+
let direction = match[2] ? match[2].toUpperCase() : "";
|
|
87983
|
+
if (match[3]) {
|
|
87984
|
+
direction += (direction ? " " : "") + match[3].toUpperCase();
|
|
87985
|
+
}
|
|
87986
|
+
result.push({ field, direction });
|
|
87987
|
+
} else {
|
|
87988
|
+
result.push({ field: trimmed, direction: "" });
|
|
87989
|
+
}
|
|
87990
|
+
}
|
|
87991
|
+
return result;
|
|
87992
|
+
}
|
|
87993
|
+
function convertOrderByFields(orderByParts, primaryObject, objectAliases) {
|
|
87994
|
+
return orderByParts.map(({ field, direction }) => {
|
|
87995
|
+
const hasAggregate = AGGREGATE_FUNCTIONS.some((func) => new RegExp(`\\b${func}\\s*\\(`, "i").test(field));
|
|
87996
|
+
let convertedField;
|
|
87997
|
+
if (hasAggregate) {
|
|
87998
|
+
convertedField = convertAggregateFunction(field, primaryObject, objectAliases);
|
|
87999
|
+
} else {
|
|
88000
|
+
convertedField = convertFieldToSmartStore(field, primaryObject, objectAliases);
|
|
88001
|
+
}
|
|
88002
|
+
return direction ? `${convertedField} ${direction}` : convertedField;
|
|
88003
|
+
});
|
|
88004
|
+
}
|
|
88005
|
+
function parseGroupByClause(groupByClause) {
|
|
88006
|
+
return groupByClause.split(/,(?![^()]*\))/).map((f) => f.trim()).filter(Boolean);
|
|
88007
|
+
}
|
|
88008
|
+
function convertGroupByFields(fields, primaryObject, objectAliases) {
|
|
88009
|
+
return fields.map((field) => {
|
|
88010
|
+
if (/^(ROLLUP|CUBE)\s*\(/i.test(field)) {
|
|
88011
|
+
return field.replace(/\(([^)]+)\)/g, (_match, inner) => {
|
|
88012
|
+
const innerFields = inner.split(",").map((f) => f.trim());
|
|
88013
|
+
const converted = innerFields.map((f) => convertFieldToSmartStore(f, primaryObject, objectAliases));
|
|
88014
|
+
return `(${converted.join(", ")})`;
|
|
88015
|
+
});
|
|
88016
|
+
}
|
|
88017
|
+
return convertFieldToSmartStore(field, primaryObject, objectAliases);
|
|
88018
|
+
});
|
|
88019
|
+
}
|
|
88020
|
+
function parseFromClause(fromClause) {
|
|
88021
|
+
const joins = [];
|
|
88022
|
+
const primaryMatch = fromClause.match(/^([A-Za-z0-9_]+)(?:\s+(?:AS\s+)?([A-Za-z_][A-Za-z0-9_]*))?/i);
|
|
88023
|
+
if (!primaryMatch) {
|
|
88024
|
+
return { primary: "", joins };
|
|
88025
|
+
}
|
|
88026
|
+
const primary = primaryMatch[1];
|
|
88027
|
+
const alias = primaryMatch[2];
|
|
88028
|
+
const joinRegex = /(LEFT\s+OUTER\s+JOIN|LEFT\s+JOIN|INNER\s+JOIN|JOIN)\s+([A-Za-z0-9_]+)(?:\s+(?:AS\s+)?([A-Za-z_][A-Za-z0-9_]*))?\s+ON\s+([^,]+?)(?=(?:LEFT|INNER|JOIN|$))/gi;
|
|
88029
|
+
let joinMatch;
|
|
88030
|
+
while ((joinMatch = joinRegex.exec(fromClause)) !== null) {
|
|
88031
|
+
joins.push({
|
|
88032
|
+
type: joinMatch[1].toUpperCase().replace(/\s+/g, " "),
|
|
88033
|
+
object: joinMatch[2],
|
|
88034
|
+
alias: joinMatch[3],
|
|
88035
|
+
on: joinMatch[4]?.trim()
|
|
88036
|
+
});
|
|
88037
|
+
}
|
|
88038
|
+
return { primary, alias, joins };
|
|
88039
|
+
}
|
|
88040
|
+
function convertSoqlToSmartQuery(soqlQuery) {
|
|
88041
|
+
if (!soqlQuery || typeof soqlQuery !== "string") {
|
|
88042
|
+
return "";
|
|
88043
|
+
}
|
|
88044
|
+
let normalizedQuery = soqlQuery.replace(/\s+/g, " ").trim();
|
|
88045
|
+
const fromMatch = normalizedQuery.match(
|
|
88046
|
+
/FROM\s+([\s\S]+?)(?=\s+WHERE\s+|\s+ORDER\s+BY\s+|\s+GROUP\s+BY\s+|\s+HAVING\s+|\s+LIMIT\s+|\s+OFFSET\s+|$)/i
|
|
88047
|
+
);
|
|
88048
|
+
if (!fromMatch) {
|
|
88049
|
+
return soqlQuery;
|
|
88050
|
+
}
|
|
88051
|
+
const fromParsed = parseFromClause(fromMatch[1].trim());
|
|
88052
|
+
const primaryObject = fromParsed.primary;
|
|
88053
|
+
if (!primaryObject) {
|
|
88054
|
+
return soqlQuery;
|
|
88055
|
+
}
|
|
88056
|
+
normalizedQuery = normalizedQuery.replace(
|
|
88057
|
+
/\bFIELDS\s*\(\s*(ALL|STANDARD|CUSTOM)\s*\)/gi,
|
|
88058
|
+
"__FIELDS_ALL_PLACEHOLDER__"
|
|
88059
|
+
);
|
|
88060
|
+
const selectMatch = normalizedQuery.match(/SELECT\s+([\s\S]+?)\s+FROM\s+/i);
|
|
88061
|
+
if (!selectMatch) {
|
|
88062
|
+
return soqlQuery;
|
|
88063
|
+
}
|
|
88064
|
+
const whereMatch = normalizedQuery.match(
|
|
88065
|
+
/WHERE\s+([\s\S]+?)(?=\s+ORDER\s+BY\s+|\s+GROUP\s+BY\s+|\s+HAVING\s+|\s+LIMIT\s+|\s+OFFSET\s+|$)/i
|
|
88066
|
+
);
|
|
88067
|
+
const groupByMatch = normalizedQuery.match(
|
|
88068
|
+
/GROUP\s+BY\s+([\s\S]+?)(?=\s+HAVING\s+|\s+ORDER\s+BY\s+|\s+LIMIT\s+|\s+OFFSET\s+|$)/i
|
|
88069
|
+
);
|
|
88070
|
+
const havingMatch = normalizedQuery.match(/HAVING\s+([\s\S]+?)(?=\s+ORDER\s+BY\s+|\s+LIMIT\s+|\s+OFFSET\s+|$)/i);
|
|
88071
|
+
const orderByMatch = normalizedQuery.match(/ORDER\s+BY\s+([\s\S]+?)(?=\s+LIMIT\s+|\s+OFFSET\s+|$)/i);
|
|
88072
|
+
const limitMatch = normalizedQuery.match(/LIMIT\s+(\d+)/i);
|
|
88073
|
+
const offsetMatch = normalizedQuery.match(/OFFSET\s+(\d+)/i);
|
|
88074
|
+
const objectAliases = /* @__PURE__ */ new Map();
|
|
88075
|
+
if (fromParsed.alias) {
|
|
88076
|
+
objectAliases.set(fromParsed.alias.toLowerCase(), primaryObject);
|
|
88077
|
+
}
|
|
88078
|
+
objectAliases.set(primaryObject.toLowerCase(), primaryObject);
|
|
88079
|
+
const parts = [];
|
|
88080
|
+
const selectFields = parseSelectFields(selectMatch[1].trim());
|
|
88081
|
+
const smartSelectFields = convertSelectFields(selectFields, primaryObject, objectAliases);
|
|
88082
|
+
parts.push(`SELECT ${smartSelectFields.join(", ")}`);
|
|
88083
|
+
parts.push(`FROM {${primaryObject}}`);
|
|
88084
|
+
const whereConditions = [];
|
|
88085
|
+
if (whereMatch) {
|
|
88086
|
+
const smartWhere = convertWhereClause(whereMatch[1].trim(), primaryObject, objectAliases);
|
|
88087
|
+
whereConditions.push(smartWhere);
|
|
88088
|
+
}
|
|
88089
|
+
if (whereConditions.length > 0) {
|
|
88090
|
+
parts.push(`WHERE ${whereConditions.join(" AND ")}`);
|
|
88091
|
+
}
|
|
88092
|
+
if (groupByMatch) {
|
|
88093
|
+
const groupByFields = parseGroupByClause(groupByMatch[1].trim());
|
|
88094
|
+
const smartGroupBy = convertGroupByFields(groupByFields, primaryObject, objectAliases);
|
|
88095
|
+
parts.push(`GROUP BY ${smartGroupBy.join(", ")}`);
|
|
88096
|
+
}
|
|
88097
|
+
if (havingMatch) {
|
|
88098
|
+
const smartHaving = convertWhereClause(havingMatch[1].trim(), primaryObject, objectAliases);
|
|
88099
|
+
parts.push(`HAVING ${smartHaving}`);
|
|
88100
|
+
}
|
|
88101
|
+
if (orderByMatch) {
|
|
88102
|
+
const orderByParts = parseOrderByClause(orderByMatch[1].trim());
|
|
88103
|
+
const smartOrderBy = convertOrderByFields(orderByParts, primaryObject, objectAliases);
|
|
88104
|
+
parts.push(`ORDER BY ${smartOrderBy.join(", ")}`);
|
|
88105
|
+
}
|
|
88106
|
+
if (limitMatch) {
|
|
88107
|
+
parts.push(`LIMIT ${limitMatch[1]}`);
|
|
88108
|
+
}
|
|
88109
|
+
if (offsetMatch) {
|
|
88110
|
+
parts.push(`OFFSET ${offsetMatch[1]}`);
|
|
88111
|
+
}
|
|
88112
|
+
return parts.join(" ");
|
|
88113
|
+
}
|
|
88114
|
+
|
|
87712
88115
|
function query(payload) {
|
|
87713
88116
|
return highLevelApi.API.request("query", payload);
|
|
87714
88117
|
}
|
|
87715
88118
|
function crmQuery(payload) {
|
|
87716
88119
|
return highLevelApi.API.request("crm_query", payload);
|
|
87717
88120
|
}
|
|
88121
|
+
function extractFieldsFromSoql(soqlQuery) {
|
|
88122
|
+
const selectMatch = soqlQuery.match(/SELECT\s+([\s\S]+?)\s+FROM\s+/i);
|
|
88123
|
+
if (!selectMatch) return [];
|
|
88124
|
+
const selectClause = selectMatch[1];
|
|
88125
|
+
const fields = [];
|
|
88126
|
+
let depth = 0;
|
|
88127
|
+
let currentField = "";
|
|
88128
|
+
for (let i = 0; i < selectClause.length; i++) {
|
|
88129
|
+
const char = selectClause[i];
|
|
88130
|
+
if (char === "(") {
|
|
88131
|
+
depth++;
|
|
88132
|
+
currentField += char;
|
|
88133
|
+
} else if (char === ")") {
|
|
88134
|
+
depth--;
|
|
88135
|
+
currentField += char;
|
|
88136
|
+
} else if (char === "," && depth === 0) {
|
|
88137
|
+
if (currentField.trim()) {
|
|
88138
|
+
fields.push(currentField.trim());
|
|
88139
|
+
}
|
|
88140
|
+
currentField = "";
|
|
88141
|
+
} else {
|
|
88142
|
+
currentField += char;
|
|
88143
|
+
}
|
|
88144
|
+
}
|
|
88145
|
+
if (currentField.trim()) {
|
|
88146
|
+
fields.push(currentField.trim());
|
|
88147
|
+
}
|
|
88148
|
+
return fields.map((field) => {
|
|
88149
|
+
const aliasMatch = field.match(/^(.+?)\s+(?:AS\s+)?([A-Za-z_][A-Za-z0-9_]*)$/i);
|
|
88150
|
+
const fieldExpr = aliasMatch ? aliasMatch[1].trim() : field.trim();
|
|
88151
|
+
return fieldExpr;
|
|
88152
|
+
});
|
|
88153
|
+
}
|
|
88154
|
+
function extractObjectFromSoql(soqlQuery) {
|
|
88155
|
+
const fromMatch = soqlQuery.match(/FROM\s+([A-Za-z0-9_]+)/i);
|
|
88156
|
+
return fromMatch ? fromMatch[1] : "";
|
|
88157
|
+
}
|
|
88158
|
+
function setNestedProperty(obj, path, value) {
|
|
88159
|
+
const parts = path.split(".");
|
|
88160
|
+
if (parts.length === 1) {
|
|
88161
|
+
obj[path] = value;
|
|
88162
|
+
return;
|
|
88163
|
+
}
|
|
88164
|
+
let current = obj;
|
|
88165
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
88166
|
+
const part = parts[i];
|
|
88167
|
+
if (!current[part] || typeof current[part] !== "object") {
|
|
88168
|
+
current[part] = {};
|
|
88169
|
+
}
|
|
88170
|
+
current = current[part];
|
|
88171
|
+
}
|
|
88172
|
+
current[parts[parts.length - 1]] = value;
|
|
88173
|
+
}
|
|
88174
|
+
function isAllFieldsSelector(field) {
|
|
88175
|
+
const trimmed = field.trim();
|
|
88176
|
+
return trimmed === "*" || /^FIELDS\s*\(\s*(ALL|STANDARD|CUSTOM)\s*\)$/i.test(trimmed);
|
|
88177
|
+
}
|
|
88178
|
+
function transformSmartStoreResults(smartStoreResults, fields, objectName) {
|
|
88179
|
+
if (!smartStoreResults || !Array.isArray(smartStoreResults)) {
|
|
88180
|
+
return [];
|
|
88181
|
+
}
|
|
88182
|
+
return smartStoreResults.map((row) => {
|
|
88183
|
+
const record = {};
|
|
88184
|
+
fields.forEach((field, index) => {
|
|
88185
|
+
if (index < row.length) {
|
|
88186
|
+
const value = row[index];
|
|
88187
|
+
if (isAllFieldsSelector(field)) {
|
|
88188
|
+
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
88189
|
+
Object.assign(record, value);
|
|
88190
|
+
}
|
|
88191
|
+
} else {
|
|
88192
|
+
setNestedProperty(record, field, value);
|
|
88193
|
+
}
|
|
88194
|
+
}
|
|
88195
|
+
});
|
|
88196
|
+
const recordId = record["Id"] || record["id"] || "";
|
|
88197
|
+
record["attributes"] = {
|
|
88198
|
+
type: objectName,
|
|
88199
|
+
url: recordId ? `/services/data/v57.0/sobjects/${objectName}/${recordId}` : ""
|
|
88200
|
+
};
|
|
88201
|
+
return record;
|
|
88202
|
+
});
|
|
88203
|
+
}
|
|
88204
|
+
async function crmQueryAdaptive(payload) {
|
|
88205
|
+
const query2 = payload.query;
|
|
88206
|
+
if (!query2 || typeof query2 !== "string") {
|
|
88207
|
+
return Promise.reject(new Error("Query is required and must be a string"));
|
|
88208
|
+
}
|
|
88209
|
+
let useSmartStore = false;
|
|
88210
|
+
try {
|
|
88211
|
+
const env = await highLevelApi.API.request("get_env");
|
|
88212
|
+
const isIos = env?.mode === "IOS";
|
|
88213
|
+
const isSfdcSyncEnabled = env?.pitcher?.instance?.settings?.enable_sfdc_sync === true;
|
|
88214
|
+
useSmartStore = isIos && isSfdcSyncEnabled;
|
|
88215
|
+
} catch {
|
|
88216
|
+
useSmartStore = false;
|
|
88217
|
+
}
|
|
88218
|
+
console.log(`crmQueryAdaptive called with the query: `, query2);
|
|
88219
|
+
if (useSmartStore) {
|
|
88220
|
+
const fields = extractFieldsFromSoql(query2);
|
|
88221
|
+
const objectName = extractObjectFromSoql(query2);
|
|
88222
|
+
const smartQuery = convertSoqlToSmartQuery(query2);
|
|
88223
|
+
console.log(`Smart Query: `, smartQuery);
|
|
88224
|
+
const smartStoreResults = await crmSmartQuery({ query: smartQuery });
|
|
88225
|
+
const records = transformSmartStoreResults(smartStoreResults, fields, objectName);
|
|
88226
|
+
return {
|
|
88227
|
+
records,
|
|
88228
|
+
totalSize: records.length
|
|
88229
|
+
};
|
|
88230
|
+
}
|
|
88231
|
+
return crmQuery(payload);
|
|
88232
|
+
}
|
|
87718
88233
|
function crmSmartQuery(payload) {
|
|
87719
88234
|
const query2 = payload.query;
|
|
87720
88235
|
if (!query2 || typeof query2 !== "string") {
|
|
87721
88236
|
return Promise.reject(new Error("Query is required and must be a string"));
|
|
87722
88237
|
}
|
|
87723
|
-
const smartStorePattern = /\{[^}]+:[^}]
|
|
88238
|
+
const smartStorePattern = /\{[^}]+:[^}]+}/;
|
|
87724
88239
|
if (!smartStorePattern.test(query2.trim())) {
|
|
87725
88240
|
return Promise.reject(
|
|
87726
88241
|
new Error(
|
|
@@ -87777,7 +88292,14 @@ function crmSmartUpsertObjects(payload) {
|
|
|
87777
88292
|
}
|
|
87778
88293
|
}
|
|
87779
88294
|
}
|
|
87780
|
-
|
|
88295
|
+
console.log("[crmSmartUpsertObjects] Request payload:", JSON.stringify(payload, null, 2));
|
|
88296
|
+
return highLevelApi.API.request("crm_smart_upsert_objects", payload).then((result) => {
|
|
88297
|
+
console.log("[crmSmartUpsertObjects] Success:", result);
|
|
88298
|
+
return result;
|
|
88299
|
+
}).catch((error) => {
|
|
88300
|
+
console.error("[crmSmartUpsertObjects] Error:", error);
|
|
88301
|
+
throw error;
|
|
88302
|
+
});
|
|
87781
88303
|
}
|
|
87782
88304
|
function crmSmartObjectValidationRules(payload) {
|
|
87783
88305
|
if (!payload) {
|
|
@@ -87817,7 +88339,14 @@ function crmSmartDeleteObjects(payload) {
|
|
|
87817
88339
|
}
|
|
87818
88340
|
}
|
|
87819
88341
|
}
|
|
87820
|
-
|
|
88342
|
+
console.log("[crmSmartDeleteObjects] Request payload:", JSON.stringify(payload, null, 2));
|
|
88343
|
+
return highLevelApi.API.request("crm_smart_delete_objects", payload).then((result) => {
|
|
88344
|
+
console.log("[crmSmartDeleteObjects] Success:", result);
|
|
88345
|
+
return result;
|
|
88346
|
+
}).catch((error) => {
|
|
88347
|
+
console.error("[crmSmartDeleteObjects] Error:", error);
|
|
88348
|
+
throw error;
|
|
88349
|
+
});
|
|
87821
88350
|
}
|
|
87822
88351
|
function crmCreate(payload) {
|
|
87823
88352
|
if (!payload) {
|
|
@@ -87960,6 +88489,7 @@ const modules = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
|
87960
88489
|
createFolder,
|
|
87961
88490
|
crmCreate,
|
|
87962
88491
|
crmQuery,
|
|
88492
|
+
crmQueryAdaptive,
|
|
87963
88493
|
crmSmartDeleteObjects,
|
|
87964
88494
|
crmSmartObjectMetadata,
|
|
87965
88495
|
crmSmartObjectValidationRules,
|
|
@@ -94688,7 +95218,7 @@ const _hoisted_14$h = {
|
|
|
94688
95218
|
class: "flex items-center ml-2"
|
|
94689
95219
|
};
|
|
94690
95220
|
const _hoisted_15$f = {
|
|
94691
|
-
key:
|
|
95221
|
+
key: 0,
|
|
94692
95222
|
class: "flex items-center ml-2"
|
|
94693
95223
|
};
|
|
94694
95224
|
const _hoisted_16$e = { class: "flex flex-col w-full flex-1 min-h-0" };
|
|
@@ -95073,7 +95603,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95073
95603
|
hasSearchCompleted.value = false;
|
|
95074
95604
|
searchError.value = null;
|
|
95075
95605
|
try {
|
|
95076
|
-
const ALLOWED_CANVAS_TYPES = ["saved_canvas", "template", "
|
|
95606
|
+
const ALLOWED_CANVAS_TYPES = ["saved_canvas", "template", "section", "block"];
|
|
95077
95607
|
const ALLOWED_FILE_TYPES = [
|
|
95078
95608
|
"folder",
|
|
95079
95609
|
"pdf",
|
|
@@ -95297,8 +95827,6 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95297
95827
|
return t("canvasUI.CAlgoliaSearch.canvasFilters.saved");
|
|
95298
95828
|
case "template":
|
|
95299
95829
|
return t("canvasUI.CAlgoliaSearch.canvasFilters.templates");
|
|
95300
|
-
case "product_template":
|
|
95301
|
-
return t("canvasUI.CAlgoliaSearch.canvasFilters.productTemplates");
|
|
95302
95830
|
case "section":
|
|
95303
95831
|
return t("canvasUI.CAlgoliaSearch.canvasFilters.products");
|
|
95304
95832
|
case "block":
|
|
@@ -95520,7 +96048,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95520
96048
|
show: "",
|
|
95521
96049
|
verticalAlignment: "top",
|
|
95522
96050
|
"z-index": _ctx.zIndex,
|
|
95523
|
-
"onUpdate:show": _cache[
|
|
96051
|
+
"onUpdate:show": _cache[15] || (_cache[15] = ($event) => emit("toggleSearch", $event))
|
|
95524
96052
|
}, {
|
|
95525
96053
|
default: withCtx(() => [
|
|
95526
96054
|
createElementVNode("div", {
|
|
@@ -95529,7 +96057,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95529
96057
|
}, [
|
|
95530
96058
|
createElementVNode("div", _hoisted_1$4w, [
|
|
95531
96059
|
createElementVNode("div", _hoisted_2$3j, [
|
|
95532
|
-
_cache[
|
|
96060
|
+
_cache[16] || (_cache[16] = createElementVNode("div", { class: "absolute left-2.5 top-1/2 transform -translate-y-1/2 z-10" }, [
|
|
95533
96061
|
createElementVNode("i", { class: "c-icon far fa-search text-gray-400 text-l" })
|
|
95534
96062
|
], -1)),
|
|
95535
96063
|
withDirectives(createElementVNode("input", {
|
|
@@ -95710,15 +96238,14 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95710
96238
|
_: 1
|
|
95711
96239
|
}, 8, ["show"]),
|
|
95712
96240
|
hasActiveFilters.value ? (openBlock(), createElementBlock("div", _hoisted_14$h, [
|
|
95713
|
-
_cache[
|
|
96241
|
+
_cache[17] || (_cache[17] = createElementVNode("div", { class: "h-6 w-px bg-gray-300 mx-2" }, null, -1)),
|
|
95714
96242
|
createElementVNode("span", {
|
|
95715
96243
|
class: "text-sm text-gray-600 hover:text-gray-800 font-normal cursor-pointer",
|
|
95716
96244
|
onClick: clearAllFilters
|
|
95717
96245
|
}, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.filters.clear")), 1)
|
|
95718
96246
|
])) : createCommentVNode("", true)
|
|
95719
96247
|
], 64)) : searchType.value === "canvases" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
95720
|
-
|
|
95721
|
-
key: 0,
|
|
96248
|
+
createVNode(unref(NTag), {
|
|
95722
96249
|
class: "select-none cursor-pointer",
|
|
95723
96250
|
style: normalizeStyle({
|
|
95724
96251
|
"--n-color": selectedCanvasFilters.value.includes("saved_canvas") ? "var(--p-primary5)" : "var(--p-primary6)",
|
|
@@ -95734,7 +96261,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95734
96261
|
createElementVNode("span", null, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.canvasFilters.saved")), 1)
|
|
95735
96262
|
]),
|
|
95736
96263
|
_: 1
|
|
95737
|
-
}, 8, ["style"])
|
|
96264
|
+
}, 8, ["style"]),
|
|
95738
96265
|
createVNode(unref(NTag), {
|
|
95739
96266
|
class: "select-none cursor-pointer",
|
|
95740
96267
|
style: normalizeStyle({
|
|
@@ -95752,24 +96279,6 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95752
96279
|
]),
|
|
95753
96280
|
_: 1
|
|
95754
96281
|
}, 8, ["style"]),
|
|
95755
|
-
_ctx.isAdmin ? (openBlock(), createBlock(unref(NTag), {
|
|
95756
|
-
key: 1,
|
|
95757
|
-
class: "select-none cursor-pointer",
|
|
95758
|
-
style: normalizeStyle({
|
|
95759
|
-
"--n-color": selectedCanvasFilters.value.includes("product_template") ? "var(--p-primary5)" : "var(--p-primary6)",
|
|
95760
|
-
"--n-border": "1px solid var(--p-primary5)",
|
|
95761
|
-
"--n-height": "28px"
|
|
95762
|
-
}),
|
|
95763
|
-
themeOverrides: {
|
|
95764
|
-
borderRadius: "4px"
|
|
95765
|
-
},
|
|
95766
|
-
onClick: _cache[11] || (_cache[11] = ($event) => toggleCanvasFilter("product_template"))
|
|
95767
|
-
}, {
|
|
95768
|
-
default: withCtx(() => [
|
|
95769
|
-
createElementVNode("span", null, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.canvasFilters.productTemplates")), 1)
|
|
95770
|
-
]),
|
|
95771
|
-
_: 1
|
|
95772
|
-
}, 8, ["style"])) : createCommentVNode("", true),
|
|
95773
96282
|
createVNode(unref(NTag), {
|
|
95774
96283
|
class: "select-none cursor-pointer",
|
|
95775
96284
|
style: normalizeStyle({
|
|
@@ -95780,7 +96289,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95780
96289
|
themeOverrides: {
|
|
95781
96290
|
borderRadius: "4px"
|
|
95782
96291
|
},
|
|
95783
|
-
onClick: _cache[
|
|
96292
|
+
onClick: _cache[11] || (_cache[11] = ($event) => toggleCanvasFilter("section"))
|
|
95784
96293
|
}, {
|
|
95785
96294
|
default: withCtx(() => [
|
|
95786
96295
|
createElementVNode("span", null, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.canvasFilters.products")), 1)
|
|
@@ -95797,7 +96306,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95797
96306
|
themeOverrides: {
|
|
95798
96307
|
borderRadius: "4px"
|
|
95799
96308
|
},
|
|
95800
|
-
onClick: _cache[
|
|
96309
|
+
onClick: _cache[12] || (_cache[12] = ($event) => toggleCanvasFilter("block"))
|
|
95801
96310
|
}, {
|
|
95802
96311
|
default: withCtx(() => [
|
|
95803
96312
|
createElementVNode("span", null, toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.canvasFilters.blocks")), 1)
|
|
@@ -95805,7 +96314,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95805
96314
|
_: 1
|
|
95806
96315
|
}, 8, ["style"]),
|
|
95807
96316
|
selectedCanvasFilters.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_15$f, [
|
|
95808
|
-
_cache[
|
|
96317
|
+
_cache[18] || (_cache[18] = createElementVNode("div", { class: "h-6 w-px bg-gray-300 mx-2" }, null, -1)),
|
|
95809
96318
|
createElementVNode("span", {
|
|
95810
96319
|
class: "text-sm text-gray-600 hover:text-gray-800 font-normal cursor-pointer",
|
|
95811
96320
|
onClick: clearCanvasFilters
|
|
@@ -95835,7 +96344,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95835
96344
|
}), 128))
|
|
95836
96345
|
]),
|
|
95837
96346
|
recentlyOpenedDocs.value.length > 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
95838
|
-
_cache[
|
|
96347
|
+
_cache[19] || (_cache[19] = createElementVNode("hr", { class: "border-0 h-px bg-gray-200 mt-2 mb-3 w-full" }, null, -1)),
|
|
95839
96348
|
createElementVNode("div", _hoisted_21$7, [
|
|
95840
96349
|
createElementVNode("span", _hoisted_22$5, toDisplayString(unref(t)("canvasUI.components.fileViewer.recentlyOpened")), 1)
|
|
95841
96350
|
]),
|
|
@@ -95945,7 +96454,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95945
96454
|
filteredContentFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_43$4, [
|
|
95946
96455
|
createElementVNode("span", {
|
|
95947
96456
|
class: "text-sm text-gray-600 hover:text-gray-800 font-bold flex items-center cursor-pointer",
|
|
95948
|
-
onClick: _cache[
|
|
96457
|
+
onClick: _cache[13] || (_cache[13] = ($event) => searchType.value = "content")
|
|
95949
96458
|
}, [
|
|
95950
96459
|
createTextVNode(toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.actions.viewAll")) + " ", 1),
|
|
95951
96460
|
createVNode(CIcon, {
|
|
@@ -95997,7 +96506,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
95997
96506
|
filteredCanvasFiles.value.length > 5 ? (openBlock(), createElementBlock("div", _hoisted_54$2, [
|
|
95998
96507
|
createElementVNode("span", {
|
|
95999
96508
|
class: "text-sm text-gray-600 hover:text-gray-800 font-bold flex items-center cursor-pointer",
|
|
96000
|
-
onClick: _cache[
|
|
96509
|
+
onClick: _cache[14] || (_cache[14] = ($event) => searchType.value = "canvases")
|
|
96001
96510
|
}, [
|
|
96002
96511
|
createTextVNode(toDisplayString(unref(t)("canvasUI.CAlgoliaSearch.actions.viewAll")) + " ", 1),
|
|
96003
96512
|
createVNode(CIcon, {
|
|
@@ -96144,7 +96653,7 @@ const _sfc_main$5K = /* @__PURE__ */ defineComponent({
|
|
|
96144
96653
|
}
|
|
96145
96654
|
});
|
|
96146
96655
|
|
|
96147
|
-
const CAlgoliaSearch = /* @__PURE__ */ _export_sfc(_sfc_main$5K, [["__scopeId", "data-v-
|
|
96656
|
+
const CAlgoliaSearch = /* @__PURE__ */ _export_sfc(_sfc_main$5K, [["__scopeId", "data-v-338ca99c"]]);
|
|
96148
96657
|
|
|
96149
96658
|
const BulletListExtended = BulletList.extend({
|
|
96150
96659
|
addOptions() {
|
|
@@ -181041,6 +181550,33 @@ function useTheme() {
|
|
|
181041
181550
|
};
|
|
181042
181551
|
}
|
|
181043
181552
|
|
|
181553
|
+
function useSmartStore(env) {
|
|
181554
|
+
const shouldUseSmartStore = computed(() => {
|
|
181555
|
+
try {
|
|
181556
|
+
const envValue = unref(env);
|
|
181557
|
+
if (!envValue) {
|
|
181558
|
+
return false;
|
|
181559
|
+
}
|
|
181560
|
+
const isIos = envValue?.mode === "IOS";
|
|
181561
|
+
const isSfdcSyncEnabled = envValue?.pitcher?.instance?.settings?.enable_sfdc_sync === true;
|
|
181562
|
+
return isIos && isSfdcSyncEnabled;
|
|
181563
|
+
} catch (error) {
|
|
181564
|
+
console.error("[useSmartStore] Error checking SmartStore availability:", error);
|
|
181565
|
+
return false;
|
|
181566
|
+
}
|
|
181567
|
+
});
|
|
181568
|
+
const generateTempSalesforceId = (objectPrefix) => {
|
|
181569
|
+
const timestamp = Date.now().toString(36);
|
|
181570
|
+
const randomStr = Math.random().toString(36).substring(2, 11);
|
|
181571
|
+
const uniqueId = (timestamp + randomStr).substring(0, 14 - objectPrefix.length);
|
|
181572
|
+
return "PIT_" + objectPrefix + uniqueId.padEnd(14 - objectPrefix.length, "0");
|
|
181573
|
+
};
|
|
181574
|
+
return {
|
|
181575
|
+
shouldUseSmartStore,
|
|
181576
|
+
generateTempSalesforceId
|
|
181577
|
+
};
|
|
181578
|
+
}
|
|
181579
|
+
|
|
181044
181580
|
const initialCanvas = ref(void 0);
|
|
181045
181581
|
const useCanvasOverlay = () => {
|
|
181046
181582
|
const openCanvasOverlay = ({ id, fullscreen, edit_mode, component_id, section_id, position }) => {
|
|
@@ -183302,5 +183838,5 @@ const localeNames = {
|
|
|
183302
183838
|
};
|
|
183303
183839
|
const localeDropdownOptions = supportedLocales.map((locale) => ({ key: locale, name: localeNames[locale] }));
|
|
183304
183840
|
|
|
183305
|
-
export { ADMIN_API_METHOD_TYPES, ADMIN_API_TYPES, ADMIN_MESSAGE, ADMIN_MESSAGE_TYPES, APPS_DB, AccessTypeEnum, App$3 as AgendaSelectorApp, AppTypeEnum, _sfc_main as AssetsManagerApp, App$1 as Browser, BulkUpdateMetadataOperationEnum, BulkUpdateTagsOperationEnum, CALL_STORAGE_KEY, CANVASES, CANVAS_HOOKS, CANVAS_TYPOGRAPHY_CSS_PROPERTIES, CANVAS_TYPOGRAPHY_PRESETS, CAlgoliaSearch, CAssignedCanvasesManagement, _sfc_main$4p as CAssignedCanvasesManagementToolbar, _sfc_main$6s as CAvatar, _sfc_main$4O as CBlockManagement, CButton, _sfc_main$5f as CCanvasDeleteDialogContent, _sfc_main$5g as CCanvasMetadataFilters, CCanvasSelector, _sfc_main$6V as CCard, CCarousel, _sfc_main$3G as CCatalogIqSwitcher, _sfc_main$6U as CCheckbox, _sfc_main$3A as CChip, CCollapse, _sfc_main$6R as CCollapseItem, _sfc_main$6r as CCollapseTransition, NColorPicker as CColorPicker, CComponentListItem, CConfigEditor, NConfigProvider as CConfigProvider, _sfc_main$6h as CConfirmationAction, CConfirmationContent, CConfirmationHeader, CConfirmationModal, CContactSelector, CContactSelectorSelected, _sfc_main$68 as CContentError, _sfc_main$65 as CCreateCanvasModal, _sfc_main$64 as CCreateTemplateSectionBlockModal, _sfc_main$5V as CCreateThemeModal, CDP_EVENT_TYPE, CDataTable, NDatePicker as CDatePicker, CDateRangeFilter, CDetailPageSectionButtons, NDialogProvider as CDialogProvider, _sfc_main$6P as CDivider, _sfc_main$6O as CDrawer, _sfc_main$6N as CDrawerContent, _sfc_main$6M as CDropdown, _sfc_main$6p as CEmpty, _sfc_main$4m as CEntitySelector, _sfc_main$6L as CErrorFullScreen, _sfc_main$6n as CFeedback, _sfc_main$3o as CFileAccessManagement, _sfc_main$6C as CFileAttributes, _sfc_main$3p as CFilePanel, _sfc_main$6I as CFileThumbnail, CFileViewer, CFilesAccessInfo, _sfc_main$3$ as CFilesAccessManage, _sfc_main$3I as CFilesFolderDeleteDialogContent, NForm as CForm, NFormItem as CFormItem, NFormItemCol as CFormItemCol, NFormItemGridItem as CFormItemGi, NFormItemGridItem as CFormItemGridItem, FormItemRow as CFormItemRow, _sfc_main$4h as CFullScreenLoader, NGridItem as CGi, CGlobalLoader, _sfc_main$5O as CGlobalSearch, GlobalStyle as CGlobalStyle, NGrid as CGrid, NGridItem as CGridItem, CGroupsAccessInfo, NH1 as CH1, NH2 as CH2, NH3 as CH3, NH4 as CH4, NH5 as CH5, NH6 as CH6, _sfc_main$6m as CHelpText, CIcon, _sfc_main$6K as CImage, _sfc_main$4W as CInfoBadge, _sfc_main$6B as CInput, NInputNumber as CInputNumber, _sfc_main$3y as CKnockNotificationsAppWrapper, CLIENT_TYPE, NLayout as CLayout, NLayoutContent as CLayoutContent, LayoutFooter as CLayoutFooter, LayoutHeader as CLayoutHeader, LayoutSider as CLayoutSider, _sfc_main$4X as CList, NMessageProvider as CMessageProvider, _sfc_main$5L as CMetaDataBadge, _sfc_main$6A as CModal, CMonacoEditor, CMovableWidget, CMultiSelect, NNotificationProvider as CNotificationProvider, NPagination as CPagination, _sfc_main$6l as CPillSelect, _sfc_main$6z as CPopover, _sfc_main$6J as CProcessingOverlay, NProgress as CProgress, _sfc_main$5s as CRichTextEditor, _sfc_main$4q as CSavedCanvasesManagement, CSearch, _sfc_main$6x as CSearchOnClick, CSearchOnClickWithSuggestions, CSecondaryNav, _sfc_main$4R as CSectionManagement, CSelect, CSelectFilter, _sfc_main$3x as CSettingsEditor, CShortcut, CSingleSelect, NSkeleton as CSkeleton, _sfc_main$3C as CSlideViewer, NSpace as CSpace, _sfc_main$6q as CSpin, _sfc_main$6o as CSwitch, CTable, _sfc_main$5c as CTableInput, CTableMore, CTableSelect, CTableTag, _sfc_main$6F as CTag, CTags, CTemplateAccessInfo, _sfc_main$3_ as CTemplateAccessManage, _sfc_main$4G as CTemplateManagement, text as CText, _sfc_main$6v as CThemeEditor, _sfc_main$4B as CThemeManagement, _sfc_main$5l as CToastProvider, CToolbar, _sfc_main$6t as CTooltip, CUpsertFolderModal, _sfc_main$5p as CUserAvatar, CUserMenu, CUsersAccessInfo, CUsersGroupsAccessManage, _sfc_main$5m as CVirtualTable, _sfc_main$48 as CWarningAlert, CallState, CanvasActions, _sfc_main$15 as CanvasBuilderApp, CanvasBuilderMode, CanvasExcludedComponentTypesEnum, CanvasHistoryAction, App as CanvasSelector, CanvasStatus, CanvasThemeStatus, CanvasesViewsTypes, CollaborationRoleEnum, CollectionPlayerApp, App$4 as CollectionSelectorApp, ComponentIcon, ComponentTypes, ContactSelectorQuickFilterType, ContentGridLayoutTypes, ContentSelector, CoreFolderEntityType, DATE_TIME_FORMAT, DEFAULT_ADMIN_TABLE_HEIGHT, DEFAULT_ADMIN_TABLE_WITH_PAGINATION_HEIGHT, DEFAULT_GLOBAL_COMPONENT_SPACING, DEFAULT_GLOBAL_COMPONENT_SPACING_INTERVAL, DEFAULT_ITEMS_PER_PAGE, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PEER_CONNECTIVITY_VERSION, DEFAULT_PITCHER_SETTINGS, DSR_API_METHOD_TYPES, DSR_API_TYPES, DSR_MESSAGE, DSR_MESSAGE_TYPES, DSR_TYPE, DefaultExpiresAtEnum, DownloadTypeEnum, EMBED_TYPE, EventAction, EventExternalObjectContentTypeEnum, EventStatusEnum, FileContentTypeEnum, FileStatusEnum, FileTypeEnum, GlobalSearchResultType, GridLayoutTypes, HIDE_IF_EMPTY_COMPONENT_ID_TAG_PREFIX, HIDE_IF_EMPTY_COMPONENT_TRACKING_ID_TAG_PREFIX, HIDE_TAGS_WITH_PREFIX, HtmlLayoutTypes, IFRAME_ACTION_TYPES, IFRAME_DATA_MESSAGE, INITIAL_CALL_STATE, IS_DEV_ORG, IS_LOCALHOST, InstanceMembershipRoleEnum, InstanceMembershipUserStatusEnum, InvitationStatusEnum, LanguageEnum, LinkAlignmentTypes, LinkAnchorTypes, LinkPreviewTypes, MAX_LUMINANCE_FOR_LIGHT_TEXT, MAX_UPLOAD_SIZE, MIN_DIFFERENCE_IN_MINUTES, MetadataTemplateFieldTypeEnum, MultimediaHorizontalAlignmentOptions, NON_MEMBER_ROLES, NotesApp, OperatorEnum, PAPER_SIZE_PRESETS, PEER_CONNECTIVITY_EVENT, PEER_CONNECTIVITY_HANDLER_MATCH_ALL, PITCHER_EVENT, PITCHER_SETTINGS_KEY, PLATFORM_TYPE, PRINT_SCALE_FACTOR, PeerConnectivityActions, PitcherBroadcastedEventName, PitcherEventName, PitcherExternalEventName, PitcherMessageType, PitcherResponseStatus, PostAction, App$2 as PptConversionSelectorApp, REQUEST_DEFAULT_CANCEL_TIMEOUT, SEARCH_DEBOUNCE_TIME, SUPPORTED_FONT_EXTENSIONS, SUPPORTED_FONT_TYPES, SUPPORTED_IMAGE_EXTENSIONS, SUPPORTED_IMAGE_TYPES, SUPPORTED_UPLOAD_FILE_EXTENSIONS, SUPPORTED_VIDEO_EXTENSIONS, SUPPORTED_VIDEO_TYPES, SfEventColors, SfEventColorsLight, StorageRegionEnum, TRACKING_EVENTS_STORAGE_KEY, UI_API_METHOD_TYPES, UI_MESSAGE, UI_MESSAGE_TYPES, UI_NATIVE_MESSAGE_TYPES, UserRoleEnum, ViewCompactItemType, addCanvasComponent, _export as agendaSelector, appRequiresCrm, applyCanvasThemeAssetsToNode, applyFont, applyToTreeBy, autofocus as autofocusDirective, camelCaseKeys, canvasUiUnoPreset, clearLocalStorageIfNeeded, ClickOutsideDirective as clickOutsideDirective, collectAllNodesByCondition, _export$3 as collectionPlayer, _export$2 as collectionSelector, componentIconType, computeLocalStorageBytes, convertSecondsToMinutes, convertToPixels, convertToSosl, createNodeId, createPitcherSettings, dayjs, deepDiff, deepToRaw, derivePatchRequestFields, determineUserRole, discardSectionComponentOverride, displayBytesWithMUnit, displayIntegerWithMunit, doesLocalOverrideExist, doesNotHaveAnyModuleOrHookSpecified, downloadFile, draggable as draggableDirective, elementMounted as elementMountedDirective, escapeSoqlString, evaluateAccessor, executeWithDoublingTime, exitFullscreen, fallbackLocale, fetchAll, fetchAllWithOffset, fetchFirstChunkAndRemainingAsync, filterSidebarApps, filterTreeBy, findAllEmbeddableTypesInCanvasContent, findAllEmbeddableTypesInSectionsContent, findEmbeddableInCanvasContent, findEmbeddableInSectionsContent, findNodeInTreeByCondition, findNodeInTreeById, findNodeInTreeByType, findParentByNodeId, formatDate, formatDateDetailed, formatDateTime, formatDateTimeAgo, formatDayMonthBasedOnBrowserLang, formatDimensionForGotenberg, generateAIThumbnailUrl, getAllPages, getAppConfigFromAppSource, getAvailableApis, getComponentDescription, getComponentKeywords, getComponentTitle, getContrastTextColor, getDefinedProps, getEventColor, getExcessItemsIndexes, getFontAwesomeIconNameAndType, getImageSize, getLocalOverrideUrl, getLuminance, getNextPageParam, getNodeDisplayNameByComponentType, getNumberWithRegex, getPageQuantity, getPageRange, getPreviewUrl, getRoleIcon, getSectionGlobalComponentSpacing, handleThemeAssetComparison, hasAppTypeDefined, highLevelApi, indirectEval, insertItemSorted, isAfter, isBefore, isBeforeMinDate, isCanvasDrawerApp, isCanvasSectionExecution, isEmbeddableWithZeroHeight, isFileViewerReplacement, isFirefox, isFullscreen, isHeadlessOrNotAvailableApp, isImageAccessible, isIosDevice, isMac, isMobile, isModifierClick, isNonMemberRole, isOriginValid, isPastMaxDate, isPitcherOrIosDevice, isPitcherWkWebView, isPostcallApp, isQueryParamTruthy, isSafari, isSafariOnIosDevice, isSameOrAfter, isSameOrBefore, isTextComponentEmpty, isTheUiItself, isTouchScreen, isValidHex, isWindows, lightThemeOverrides, loadCustomHelpersFromApps, loadRemoteScriptWithCtx, loadScript, loadScriptStyle, loadStyle, localeDropdownOptions, localeNames, locales, minFutureDate, minPastDate, moveNodeTo, msToSeconds, navigateTo, normalizeFilterParams, normalizeNetworkFilterParams, openUsdz, parseCollectionPlayerSlidesToContentSelector, parseContentSelectorToCollectionPlayerSlides, parseFileToCollectionPlayer, parsePdfFileToCollectionPlayer, parsePptxFileToCollectionPlayer, pascalCaseKeys, _export$1 as pptConversionSelector, processCanvasForSectionThemeOverride, regenerateTreeIds, registerCustomHelper, registerCustomHelpers, registerPeerConnectivityHandler, renderTemplate, replaceThemePresetsWithInlineStyles, replaceTranslationMessagesWithOverrides, requestFullscreen, requestStream, scrollCanvasToTop, scrollToComponentById, secondsToHumanReadable, sendPeerConnectivityEvent, setDateTime, shouldDisplayPlaceholderComponent, shouldOpenInCollectionPlayerViewer, shouldShowEmbeddable, shouldShowInSidebar, skipElementsInTree, snakeCaseKeys, someNodeInTree, sortCollectionByString, splitUserName, stringToHslColor, supportedLocales, tapDirective, titleCase, toggleFullscreen, tooltipDirective, transformFilesToCollectionPlayer, transformFilesToContentGrid, updateFirstContentGridWithShareboxItems, urlSafeFetchInChunks, useAdmin, useAdminAndDsrState, useApi, useAppsDb, useBindValidation, useBroadcastRouteChange, useCanvasById, useCanvasLocks, useCanvasOverlay, useCanvasVisibility, useCanvasesAsInfinity, useCollectionPlayerOverlay, useCommentTracking, useConfirmation, useCreateEvent, useDeleteEvent, useDsr, useFetchCanvases, useFetchEvents, useFetchUsers, useFileDisplayHelpers, useFolderNameDescription, useGlobalSearch, useInfiniteScroll, useLocation, useMetadataSearch, useMetadataTemplates, useNotesApp, useNotification, useOpenFileStack, usePitcherApi, usePolling, usePresentationHistory, useRecentFiles, useShareCanvas, useSharedCommentsStorage, useSuggestedTags, useTheme, useThemeVars, useToast, useUi, useUpdateEvent, useWindowEvents, vueQueryPluginOptions, wait, waitForIframeInitialize, waitForValue };
|
|
183841
|
+
export { ADMIN_API_METHOD_TYPES, ADMIN_API_TYPES, ADMIN_MESSAGE, ADMIN_MESSAGE_TYPES, APPS_DB, AccessTypeEnum, App$3 as AgendaSelectorApp, AppTypeEnum, _sfc_main as AssetsManagerApp, App$1 as Browser, BulkUpdateMetadataOperationEnum, BulkUpdateTagsOperationEnum, CALL_STORAGE_KEY, CANVASES, CANVAS_HOOKS, CANVAS_TYPOGRAPHY_CSS_PROPERTIES, CANVAS_TYPOGRAPHY_PRESETS, CAlgoliaSearch, CAssignedCanvasesManagement, _sfc_main$4p as CAssignedCanvasesManagementToolbar, _sfc_main$6s as CAvatar, _sfc_main$4O as CBlockManagement, CButton, _sfc_main$5f as CCanvasDeleteDialogContent, _sfc_main$5g as CCanvasMetadataFilters, CCanvasSelector, _sfc_main$6V as CCard, CCarousel, _sfc_main$3G as CCatalogIqSwitcher, _sfc_main$6U as CCheckbox, _sfc_main$3A as CChip, CCollapse, _sfc_main$6R as CCollapseItem, _sfc_main$6r as CCollapseTransition, NColorPicker as CColorPicker, CComponentListItem, CConfigEditor, NConfigProvider as CConfigProvider, _sfc_main$6h as CConfirmationAction, CConfirmationContent, CConfirmationHeader, CConfirmationModal, CContactSelector, CContactSelectorSelected, _sfc_main$68 as CContentError, _sfc_main$65 as CCreateCanvasModal, _sfc_main$64 as CCreateTemplateSectionBlockModal, _sfc_main$5V as CCreateThemeModal, CDP_EVENT_TYPE, CDataTable, NDatePicker as CDatePicker, CDateRangeFilter, CDetailPageSectionButtons, NDialogProvider as CDialogProvider, _sfc_main$6P as CDivider, _sfc_main$6O as CDrawer, _sfc_main$6N as CDrawerContent, _sfc_main$6M as CDropdown, _sfc_main$6p as CEmpty, _sfc_main$4m as CEntitySelector, _sfc_main$6L as CErrorFullScreen, _sfc_main$6n as CFeedback, _sfc_main$3o as CFileAccessManagement, _sfc_main$6C as CFileAttributes, _sfc_main$3p as CFilePanel, _sfc_main$6I as CFileThumbnail, CFileViewer, CFilesAccessInfo, _sfc_main$3$ as CFilesAccessManage, _sfc_main$3I as CFilesFolderDeleteDialogContent, NForm as CForm, NFormItem as CFormItem, NFormItemCol as CFormItemCol, NFormItemGridItem as CFormItemGi, NFormItemGridItem as CFormItemGridItem, FormItemRow as CFormItemRow, _sfc_main$4h as CFullScreenLoader, NGridItem as CGi, CGlobalLoader, _sfc_main$5O as CGlobalSearch, GlobalStyle as CGlobalStyle, NGrid as CGrid, NGridItem as CGridItem, CGroupsAccessInfo, NH1 as CH1, NH2 as CH2, NH3 as CH3, NH4 as CH4, NH5 as CH5, NH6 as CH6, _sfc_main$6m as CHelpText, CIcon, _sfc_main$6K as CImage, _sfc_main$4W as CInfoBadge, _sfc_main$6B as CInput, NInputNumber as CInputNumber, _sfc_main$3y as CKnockNotificationsAppWrapper, CLIENT_TYPE, NLayout as CLayout, NLayoutContent as CLayoutContent, LayoutFooter as CLayoutFooter, LayoutHeader as CLayoutHeader, LayoutSider as CLayoutSider, _sfc_main$4X as CList, NMessageProvider as CMessageProvider, _sfc_main$5L as CMetaDataBadge, _sfc_main$6A as CModal, CMonacoEditor, CMovableWidget, CMultiSelect, NNotificationProvider as CNotificationProvider, NPagination as CPagination, _sfc_main$6l as CPillSelect, _sfc_main$6z as CPopover, _sfc_main$6J as CProcessingOverlay, NProgress as CProgress, _sfc_main$5s as CRichTextEditor, _sfc_main$4q as CSavedCanvasesManagement, CSearch, _sfc_main$6x as CSearchOnClick, CSearchOnClickWithSuggestions, CSecondaryNav, _sfc_main$4R as CSectionManagement, CSelect, CSelectFilter, _sfc_main$3x as CSettingsEditor, CShortcut, CSingleSelect, NSkeleton as CSkeleton, _sfc_main$3C as CSlideViewer, NSpace as CSpace, _sfc_main$6q as CSpin, _sfc_main$6o as CSwitch, CTable, _sfc_main$5c as CTableInput, CTableMore, CTableSelect, CTableTag, _sfc_main$6F as CTag, CTags, CTemplateAccessInfo, _sfc_main$3_ as CTemplateAccessManage, _sfc_main$4G as CTemplateManagement, text as CText, _sfc_main$6v as CThemeEditor, _sfc_main$4B as CThemeManagement, _sfc_main$5l as CToastProvider, CToolbar, _sfc_main$6t as CTooltip, CUpsertFolderModal, _sfc_main$5p as CUserAvatar, CUserMenu, CUsersAccessInfo, CUsersGroupsAccessManage, _sfc_main$5m as CVirtualTable, _sfc_main$48 as CWarningAlert, CallState, CanvasActions, _sfc_main$15 as CanvasBuilderApp, CanvasBuilderMode, CanvasExcludedComponentTypesEnum, CanvasHistoryAction, App as CanvasSelector, CanvasStatus, CanvasThemeStatus, CanvasesViewsTypes, CollaborationRoleEnum, CollectionPlayerApp, App$4 as CollectionSelectorApp, ComponentIcon, ComponentTypes, ContactSelectorQuickFilterType, ContentGridLayoutTypes, ContentSelector, CoreFolderEntityType, DATE_TIME_FORMAT, DEFAULT_ADMIN_TABLE_HEIGHT, DEFAULT_ADMIN_TABLE_WITH_PAGINATION_HEIGHT, DEFAULT_GLOBAL_COMPONENT_SPACING, DEFAULT_GLOBAL_COMPONENT_SPACING_INTERVAL, DEFAULT_ITEMS_PER_PAGE, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PEER_CONNECTIVITY_VERSION, DEFAULT_PITCHER_SETTINGS, DSR_API_METHOD_TYPES, DSR_API_TYPES, DSR_MESSAGE, DSR_MESSAGE_TYPES, DSR_TYPE, DefaultExpiresAtEnum, DownloadTypeEnum, EMBED_TYPE, EventAction, EventExternalObjectContentTypeEnum, EventStatusEnum, FileContentTypeEnum, FileStatusEnum, FileTypeEnum, GlobalSearchResultType, GridLayoutTypes, HIDE_IF_EMPTY_COMPONENT_ID_TAG_PREFIX, HIDE_IF_EMPTY_COMPONENT_TRACKING_ID_TAG_PREFIX, HIDE_TAGS_WITH_PREFIX, HtmlLayoutTypes, IFRAME_ACTION_TYPES, IFRAME_DATA_MESSAGE, INITIAL_CALL_STATE, IS_DEV_ORG, IS_LOCALHOST, InstanceMembershipRoleEnum, InstanceMembershipUserStatusEnum, InvitationStatusEnum, LanguageEnum, LinkAlignmentTypes, LinkAnchorTypes, LinkPreviewTypes, MAX_LUMINANCE_FOR_LIGHT_TEXT, MAX_UPLOAD_SIZE, MIN_DIFFERENCE_IN_MINUTES, MetadataTemplateFieldTypeEnum, MultimediaHorizontalAlignmentOptions, NON_MEMBER_ROLES, NotesApp, OperatorEnum, PAPER_SIZE_PRESETS, PEER_CONNECTIVITY_EVENT, PEER_CONNECTIVITY_HANDLER_MATCH_ALL, PITCHER_EVENT, PITCHER_SETTINGS_KEY, PLATFORM_TYPE, PRINT_SCALE_FACTOR, PeerConnectivityActions, PitcherBroadcastedEventName, PitcherEventName, PitcherExternalEventName, PitcherMessageType, PitcherResponseStatus, PostAction, App$2 as PptConversionSelectorApp, REQUEST_DEFAULT_CANCEL_TIMEOUT, SEARCH_DEBOUNCE_TIME, SUPPORTED_FONT_EXTENSIONS, SUPPORTED_FONT_TYPES, SUPPORTED_IMAGE_EXTENSIONS, SUPPORTED_IMAGE_TYPES, SUPPORTED_UPLOAD_FILE_EXTENSIONS, SUPPORTED_VIDEO_EXTENSIONS, SUPPORTED_VIDEO_TYPES, SfEventColors, SfEventColorsLight, StorageRegionEnum, TRACKING_EVENTS_STORAGE_KEY, UI_API_METHOD_TYPES, UI_MESSAGE, UI_MESSAGE_TYPES, UI_NATIVE_MESSAGE_TYPES, UserRoleEnum, ViewCompactItemType, addCanvasComponent, _export as agendaSelector, appRequiresCrm, applyCanvasThemeAssetsToNode, applyFont, applyToTreeBy, autofocus as autofocusDirective, camelCaseKeys, canvasUiUnoPreset, clearLocalStorageIfNeeded, ClickOutsideDirective as clickOutsideDirective, collectAllNodesByCondition, _export$3 as collectionPlayer, _export$2 as collectionSelector, componentIconType, computeLocalStorageBytes, convertSecondsToMinutes, convertSoqlToSmartQuery, convertToPixels, convertToSosl, createNodeId, createPitcherSettings, dayjs, deepDiff, deepToRaw, derivePatchRequestFields, determineUserRole, discardSectionComponentOverride, displayBytesWithMUnit, displayIntegerWithMunit, doesLocalOverrideExist, doesNotHaveAnyModuleOrHookSpecified, downloadFile, draggable as draggableDirective, elementMounted as elementMountedDirective, escapeSoqlString, evaluateAccessor, executeWithDoublingTime, exitFullscreen, fallbackLocale, fetchAll, fetchAllWithOffset, fetchFirstChunkAndRemainingAsync, filterSidebarApps, filterTreeBy, findAllEmbeddableTypesInCanvasContent, findAllEmbeddableTypesInSectionsContent, findEmbeddableInCanvasContent, findEmbeddableInSectionsContent, findNodeInTreeByCondition, findNodeInTreeById, findNodeInTreeByType, findParentByNodeId, formatDate, formatDateDetailed, formatDateTime, formatDateTimeAgo, formatDayMonthBasedOnBrowserLang, formatDimensionForGotenberg, generateAIThumbnailUrl, getAllPages, getAppConfigFromAppSource, getAvailableApis, getComponentDescription, getComponentKeywords, getComponentTitle, getContrastTextColor, getDefinedProps, getEventColor, getExcessItemsIndexes, getFontAwesomeIconNameAndType, getImageSize, getLocalOverrideUrl, getLuminance, getNextPageParam, getNodeDisplayNameByComponentType, getNumberWithRegex, getPageQuantity, getPageRange, getPreviewUrl, getRoleIcon, getSectionGlobalComponentSpacing, handleThemeAssetComparison, hasAppTypeDefined, highLevelApi, indirectEval, insertItemSorted, isAfter, isBefore, isBeforeMinDate, isCanvasDrawerApp, isCanvasSectionExecution, isEmbeddableWithZeroHeight, isFileViewerReplacement, isFirefox, isFullscreen, isHeadlessOrNotAvailableApp, isImageAccessible, isIosDevice, isMac, isMobile, isModifierClick, isNonMemberRole, isOriginValid, isPastMaxDate, isPitcherOrIosDevice, isPitcherWkWebView, isPostcallApp, isQueryParamTruthy, isSafari, isSafariOnIosDevice, isSameOrAfter, isSameOrBefore, isTextComponentEmpty, isTheUiItself, isTouchScreen, isValidHex, isWindows, lightThemeOverrides, loadCustomHelpersFromApps, loadRemoteScriptWithCtx, loadScript, loadScriptStyle, loadStyle, localeDropdownOptions, localeNames, locales, minFutureDate, minPastDate, moveNodeTo, msToSeconds, navigateTo, normalizeFilterParams, normalizeNetworkFilterParams, openUsdz, parseCollectionPlayerSlidesToContentSelector, parseContentSelectorToCollectionPlayerSlides, parseFileToCollectionPlayer, parsePdfFileToCollectionPlayer, parsePptxFileToCollectionPlayer, pascalCaseKeys, _export$1 as pptConversionSelector, processCanvasForSectionThemeOverride, regenerateTreeIds, registerCustomHelper, registerCustomHelpers, registerPeerConnectivityHandler, renderTemplate, replaceThemePresetsWithInlineStyles, replaceTranslationMessagesWithOverrides, requestFullscreen, requestStream, scrollCanvasToTop, scrollToComponentById, secondsToHumanReadable, sendPeerConnectivityEvent, setDateTime, shouldDisplayPlaceholderComponent, shouldOpenInCollectionPlayerViewer, shouldShowEmbeddable, shouldShowInSidebar, skipElementsInTree, snakeCaseKeys, someNodeInTree, sortCollectionByString, splitUserName, stringToHslColor, supportedLocales, tapDirective, titleCase, toggleFullscreen, tooltipDirective, transformFilesToCollectionPlayer, transformFilesToContentGrid, updateFirstContentGridWithShareboxItems, urlSafeFetchInChunks, useAdmin, useAdminAndDsrState, useApi, useAppsDb, useBindValidation, useBroadcastRouteChange, useCanvasById, useCanvasLocks, useCanvasOverlay, useCanvasVisibility, useCanvasesAsInfinity, useCollectionPlayerOverlay, useCommentTracking, useConfirmation, useCreateEvent, useDeleteEvent, useDsr, useFetchCanvases, useFetchEvents, useFetchUsers, useFileDisplayHelpers, useFolderNameDescription, useGlobalSearch, useInfiniteScroll, useLocation, useMetadataSearch, useMetadataTemplates, useNotesApp, useNotification, useOpenFileStack, usePitcherApi, usePolling, usePresentationHistory, useRecentFiles, useShareCanvas, useSharedCommentsStorage, useSmartStore, useSuggestedTags, useTheme, useThemeVars, useToast, useUi, useUpdateEvent, useWindowEvents, vueQueryPluginOptions, wait, waitForIframeInitialize, waitForValue };
|
|
183306
183842
|
//# sourceMappingURL=canvas-ui.js.map
|