@contentstack/live-preview-utils 3.4.0 → 4.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.
- package/README.md +1 -1
- package/dist/legacy/common/inIframe.cjs +15 -2
- package/dist/legacy/common/inIframe.cjs.map +1 -1
- package/dist/legacy/common/inIframe.d.cts +2 -1
- package/dist/legacy/common/inIframe.d.ts +2 -1
- package/dist/legacy/common/inIframe.js +13 -1
- package/dist/legacy/common/inIframe.js.map +1 -1
- package/dist/legacy/light-sdk.cjs +1 -1
- package/dist/legacy/light-sdk.js +1 -1
- package/dist/legacy/livePreview/editButton/editButton.cjs +1 -1
- package/dist/legacy/livePreview/editButton/editButton.cjs.map +1 -1
- package/dist/legacy/livePreview/editButton/editButton.js +2 -2
- package/dist/legacy/livePreview/editButton/editButton.js.map +1 -1
- package/dist/legacy/livePreview/eventManager/livePreviewEventManager.cjs +7 -2
- package/dist/legacy/livePreview/eventManager/livePreviewEventManager.cjs.map +1 -1
- package/dist/legacy/livePreview/eventManager/livePreviewEventManager.js +7 -2
- package/dist/legacy/livePreview/eventManager/livePreviewEventManager.js.map +1 -1
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs +44 -8
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs.map +1 -1
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js +46 -8
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js.map +1 -1
- package/dist/legacy/livePreview/eventManager/types/livePreviewPostMessageEvent.type.cjs +15 -0
- package/dist/legacy/livePreview/eventManager/types/livePreviewPostMessageEvent.type.cjs.map +1 -1
- package/dist/legacy/livePreview/eventManager/types/livePreviewPostMessageEvent.type.d.cts +11 -1
- package/dist/legacy/livePreview/eventManager/types/livePreviewPostMessageEvent.type.d.ts +11 -1
- package/dist/legacy/livePreview/eventManager/types/livePreviewPostMessageEvent.type.js +10 -0
- package/dist/legacy/livePreview/eventManager/types/livePreviewPostMessageEvent.type.js.map +1 -1
- package/dist/legacy/preview/contentstack-live-preview-HOC.cjs +1 -1
- package/dist/legacy/preview/contentstack-live-preview-HOC.js +1 -1
- package/dist/legacy/utils/index.cjs +10 -0
- package/dist/legacy/utils/index.cjs.map +1 -1
- package/dist/legacy/utils/index.d.cts +2 -1
- package/dist/legacy/utils/index.d.ts +2 -1
- package/dist/legacy/utils/index.js +9 -0
- package/dist/legacy/utils/index.js.map +1 -1
- package/dist/legacy/visualBuilder/components/FieldToolbar.cjs +4 -2
- package/dist/legacy/visualBuilder/components/FieldToolbar.cjs.map +1 -1
- package/dist/legacy/visualBuilder/components/FieldToolbar.d.cts +3 -1
- package/dist/legacy/visualBuilder/components/FieldToolbar.d.ts +3 -1
- package/dist/legacy/visualBuilder/components/FieldToolbar.js +4 -2
- package/dist/legacy/visualBuilder/components/FieldToolbar.js.map +1 -1
- package/dist/legacy/visualBuilder/components/VisualBuilder.cjs +3 -1
- package/dist/legacy/visualBuilder/components/VisualBuilder.cjs.map +1 -1
- package/dist/legacy/visualBuilder/components/VisualBuilder.js +4 -2
- package/dist/legacy/visualBuilder/components/VisualBuilder.js.map +1 -1
- package/dist/legacy/visualBuilder/components/fieldLabelWrapper.cjs +6 -4
- package/dist/legacy/visualBuilder/components/fieldLabelWrapper.cjs.map +1 -1
- package/dist/legacy/visualBuilder/components/fieldLabelWrapper.js +6 -4
- package/dist/legacy/visualBuilder/components/fieldLabelWrapper.js.map +1 -1
- package/dist/legacy/visualBuilder/components/index.cjs +2 -1
- package/dist/legacy/visualBuilder/components/index.cjs.map +1 -1
- package/dist/legacy/visualBuilder/components/index.js +3 -2
- package/dist/legacy/visualBuilder/components/index.js.map +1 -1
- package/dist/legacy/visualBuilder/generators/generateToolbar.cjs +6 -4
- package/dist/legacy/visualBuilder/generators/generateToolbar.cjs.map +1 -1
- package/dist/legacy/visualBuilder/generators/generateToolbar.js +6 -4
- package/dist/legacy/visualBuilder/generators/generateToolbar.js.map +1 -1
- package/dist/legacy/visualBuilder/listeners/mouseClick.cjs +16 -17
- package/dist/legacy/visualBuilder/listeners/mouseClick.cjs.map +1 -1
- package/dist/legacy/visualBuilder/listeners/mouseClick.js +16 -17
- package/dist/legacy/visualBuilder/listeners/mouseClick.js.map +1 -1
- package/dist/legacy/visualBuilder/listeners/mouseHover.cjs +63 -58
- package/dist/legacy/visualBuilder/listeners/mouseHover.cjs.map +1 -1
- package/dist/legacy/visualBuilder/listeners/mouseHover.js +63 -58
- package/dist/legacy/visualBuilder/listeners/mouseHover.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.cjs +72 -0
- package/dist/legacy/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.cjs.map +1 -0
- package/dist/legacy/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.d.cts +14 -0
- package/dist/legacy/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.d.ts +14 -0
- package/dist/legacy/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.js +49 -0
- package/dist/legacy/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.js.map +1 -0
- package/dist/legacy/visualBuilder/utils/getEntryPermissions.cjs +2 -1
- package/dist/legacy/visualBuilder/utils/getEntryPermissions.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/getEntryPermissions.js +2 -1
- package/dist/legacy/visualBuilder/utils/getEntryPermissions.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/getWorkflowStageDetails.cjs +79 -0
- package/dist/legacy/visualBuilder/utils/getWorkflowStageDetails.cjs.map +1 -0
- package/dist/legacy/visualBuilder/utils/getWorkflowStageDetails.d.cts +18 -0
- package/dist/legacy/visualBuilder/utils/getWorkflowStageDetails.d.ts +18 -0
- package/dist/legacy/visualBuilder/utils/getWorkflowStageDetails.js +46 -0
- package/dist/legacy/visualBuilder/utils/getWorkflowStageDetails.js.map +1 -0
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs +4 -3
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.js +4 -3
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/isFieldDisabled.cjs +43 -14
- package/dist/legacy/visualBuilder/utils/isFieldDisabled.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/isFieldDisabled.d.cts +3 -12
- package/dist/legacy/visualBuilder/utils/isFieldDisabled.d.ts +3 -12
- package/dist/legacy/visualBuilder/utils/isFieldDisabled.js +43 -14
- package/dist/legacy/visualBuilder/utils/isFieldDisabled.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs +2 -0
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.cts +2 -0
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.ts +2 -0
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.js +2 -0
- package/dist/legacy/visualBuilder/utils/types/postMessage.types.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/updateFocussedState.cjs +6 -4
- package/dist/legacy/visualBuilder/utils/updateFocussedState.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/updateFocussedState.js +6 -4
- package/dist/legacy/visualBuilder/utils/updateFocussedState.js.map +1 -1
- package/dist/legacy/visualBuilder/visualBuilder.style.cjs +3 -3
- package/dist/legacy/visualBuilder/visualBuilder.style.cjs.map +1 -1
- package/dist/legacy/visualBuilder/visualBuilder.style.js +3 -3
- package/dist/legacy/visualBuilder/visualBuilder.style.js.map +1 -1
- package/dist/modern/common/inIframe.cjs +15 -2
- package/dist/modern/common/inIframe.cjs.map +1 -1
- package/dist/modern/common/inIframe.d.cts +2 -1
- package/dist/modern/common/inIframe.d.ts +2 -1
- package/dist/modern/common/inIframe.js +13 -1
- package/dist/modern/common/inIframe.js.map +1 -1
- package/dist/modern/light-sdk.cjs +1 -1
- package/dist/modern/light-sdk.js +1 -1
- package/dist/modern/livePreview/editButton/editButton.cjs +1 -1
- package/dist/modern/livePreview/editButton/editButton.cjs.map +1 -1
- package/dist/modern/livePreview/editButton/editButton.js +2 -2
- package/dist/modern/livePreview/editButton/editButton.js.map +1 -1
- package/dist/modern/livePreview/eventManager/livePreviewEventManager.cjs +7 -2
- package/dist/modern/livePreview/eventManager/livePreviewEventManager.cjs.map +1 -1
- package/dist/modern/livePreview/eventManager/livePreviewEventManager.js +7 -2
- package/dist/modern/livePreview/eventManager/livePreviewEventManager.js.map +1 -1
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs +43 -8
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs.map +1 -1
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js +45 -8
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js.map +1 -1
- package/dist/modern/livePreview/eventManager/types/livePreviewPostMessageEvent.type.cjs +15 -0
- package/dist/modern/livePreview/eventManager/types/livePreviewPostMessageEvent.type.cjs.map +1 -1
- package/dist/modern/livePreview/eventManager/types/livePreviewPostMessageEvent.type.d.cts +11 -1
- package/dist/modern/livePreview/eventManager/types/livePreviewPostMessageEvent.type.d.ts +11 -1
- package/dist/modern/livePreview/eventManager/types/livePreviewPostMessageEvent.type.js +10 -0
- package/dist/modern/livePreview/eventManager/types/livePreviewPostMessageEvent.type.js.map +1 -1
- package/dist/modern/preview/contentstack-live-preview-HOC.cjs +1 -1
- package/dist/modern/preview/contentstack-live-preview-HOC.js +1 -1
- package/dist/modern/utils/index.cjs +10 -0
- package/dist/modern/utils/index.cjs.map +1 -1
- package/dist/modern/utils/index.d.cts +2 -1
- package/dist/modern/utils/index.d.ts +2 -1
- package/dist/modern/utils/index.js +9 -0
- package/dist/modern/utils/index.js.map +1 -1
- package/dist/modern/visualBuilder/components/FieldToolbar.cjs +4 -2
- package/dist/modern/visualBuilder/components/FieldToolbar.cjs.map +1 -1
- package/dist/modern/visualBuilder/components/FieldToolbar.d.cts +3 -1
- package/dist/modern/visualBuilder/components/FieldToolbar.d.ts +3 -1
- package/dist/modern/visualBuilder/components/FieldToolbar.js +4 -2
- package/dist/modern/visualBuilder/components/FieldToolbar.js.map +1 -1
- package/dist/modern/visualBuilder/components/VisualBuilder.cjs +3 -1
- package/dist/modern/visualBuilder/components/VisualBuilder.cjs.map +1 -1
- package/dist/modern/visualBuilder/components/VisualBuilder.js +4 -2
- package/dist/modern/visualBuilder/components/VisualBuilder.js.map +1 -1
- package/dist/modern/visualBuilder/components/fieldLabelWrapper.cjs +6 -4
- package/dist/modern/visualBuilder/components/fieldLabelWrapper.cjs.map +1 -1
- package/dist/modern/visualBuilder/components/fieldLabelWrapper.js +6 -4
- package/dist/modern/visualBuilder/components/fieldLabelWrapper.js.map +1 -1
- package/dist/modern/visualBuilder/components/index.cjs +2 -1
- package/dist/modern/visualBuilder/components/index.cjs.map +1 -1
- package/dist/modern/visualBuilder/components/index.js +3 -2
- package/dist/modern/visualBuilder/components/index.js.map +1 -1
- package/dist/modern/visualBuilder/generators/generateToolbar.cjs +6 -4
- package/dist/modern/visualBuilder/generators/generateToolbar.cjs.map +1 -1
- package/dist/modern/visualBuilder/generators/generateToolbar.js +6 -4
- package/dist/modern/visualBuilder/generators/generateToolbar.js.map +1 -1
- package/dist/modern/visualBuilder/listeners/mouseClick.cjs +16 -17
- package/dist/modern/visualBuilder/listeners/mouseClick.cjs.map +1 -1
- package/dist/modern/visualBuilder/listeners/mouseClick.js +16 -17
- package/dist/modern/visualBuilder/listeners/mouseClick.js.map +1 -1
- package/dist/modern/visualBuilder/listeners/mouseHover.cjs +63 -58
- package/dist/modern/visualBuilder/listeners/mouseHover.cjs.map +1 -1
- package/dist/modern/visualBuilder/listeners/mouseHover.js +63 -58
- package/dist/modern/visualBuilder/listeners/mouseHover.js.map +1 -1
- package/dist/modern/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.cjs +72 -0
- package/dist/modern/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.cjs.map +1 -0
- package/dist/modern/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.d.cts +14 -0
- package/dist/modern/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.d.ts +14 -0
- package/dist/modern/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.js +49 -0
- package/dist/modern/visualBuilder/utils/fetchEntryPermissionsAndStageDetails.js.map +1 -0
- package/dist/modern/visualBuilder/utils/getEntryPermissions.cjs +2 -1
- package/dist/modern/visualBuilder/utils/getEntryPermissions.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/getEntryPermissions.js +2 -1
- package/dist/modern/visualBuilder/utils/getEntryPermissions.js.map +1 -1
- package/dist/modern/visualBuilder/utils/getWorkflowStageDetails.cjs +78 -0
- package/dist/modern/visualBuilder/utils/getWorkflowStageDetails.cjs.map +1 -0
- package/dist/modern/visualBuilder/utils/getWorkflowStageDetails.d.cts +18 -0
- package/dist/modern/visualBuilder/utils/getWorkflowStageDetails.d.ts +18 -0
- package/dist/modern/visualBuilder/utils/getWorkflowStageDetails.js +45 -0
- package/dist/modern/visualBuilder/utils/getWorkflowStageDetails.js.map +1 -0
- package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs +4 -3
- package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/handleIndividualFields.js +4 -3
- package/dist/modern/visualBuilder/utils/handleIndividualFields.js.map +1 -1
- package/dist/modern/visualBuilder/utils/isFieldDisabled.cjs +42 -13
- package/dist/modern/visualBuilder/utils/isFieldDisabled.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/isFieldDisabled.d.cts +3 -12
- package/dist/modern/visualBuilder/utils/isFieldDisabled.d.ts +3 -12
- package/dist/modern/visualBuilder/utils/isFieldDisabled.js +42 -13
- package/dist/modern/visualBuilder/utils/isFieldDisabled.js.map +1 -1
- package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs +2 -0
- package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/types/postMessage.types.d.cts +2 -0
- package/dist/modern/visualBuilder/utils/types/postMessage.types.d.ts +2 -0
- package/dist/modern/visualBuilder/utils/types/postMessage.types.js +2 -0
- package/dist/modern/visualBuilder/utils/types/postMessage.types.js.map +1 -1
- package/dist/modern/visualBuilder/utils/updateFocussedState.cjs +6 -4
- package/dist/modern/visualBuilder/utils/updateFocussedState.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/updateFocussedState.js +6 -4
- package/dist/modern/visualBuilder/utils/updateFocussedState.js.map +1 -1
- package/dist/modern/visualBuilder/visualBuilder.style.cjs +3 -3
- package/dist/modern/visualBuilder/visualBuilder.style.cjs.map +1 -1
- package/dist/modern/visualBuilder/visualBuilder.style.js +3 -3
- package/dist/modern/visualBuilder/visualBuilder.style.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/getWorkflowStageDetails.ts"],"sourcesContent":["import { VisualBuilderPostMessageEvents } from \"./types/postMessage.types\";\nimport visualBuilderPostMessage from \"./visualBuilderPostMessage\";\n\nexport async function getWorkflowStageDetails({\n entryUid,\n contentTypeUid,\n locale,\n variantUid,\n}: {\n entryUid: string;\n contentTypeUid: string;\n locale: string;\n variantUid?: string | undefined;\n}): Promise<WorkflowStageDetails> {\n try {\n const result =\n await visualBuilderPostMessage?.send<WorkflowStageDetails>(\n VisualBuilderPostMessageEvents.GET_WORKFLOW_STAGE_DETAILS,\n {\n entryUid,\n contentTypeUid,\n locale,\n variantUid,\n }\n );\n if (result) {\n return result;\n }\n } catch (e) {\n console.debug(\n \"[Visual Builder] Error fetching workflow stage details\",\n e\n );\n }\n // allow editing when things go wrong,\n return {\n stage: {\n name: \"Unknown\",\n },\n permissions: {\n entry: {\n update: true,\n },\n },\n };\n}\n\nexport interface WorkflowStageDetails {\n stage:\n | {\n name: string;\n }\n | undefined;\n permissions: {\n entry: {\n update: boolean;\n };\n };\n}\n"],"mappings":";;;AAAA,SAAS,sCAAsC;AAC/C,OAAO,8BAA8B;AAErC,eAAsB,wBAAwB;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAKkC;AAblC;AAcI,MAAI;AACA,UAAM,SACF,QAAM,qDAA0B;AAAA,MAC5B,+BAA+B;AAAA,MAC/B;AAAA,QACI;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA;AAER,QAAI,QAAQ;AACR,aAAO;AAAA,IACX;AAAA,EACJ,SAAS,GAAG;AACR,YAAQ;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AAAA,IACH,OAAO;AAAA,MACH,MAAM;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACT,OAAO;AAAA,QACH,QAAQ;AAAA,MACZ;AAAA,IACJ;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -35,8 +35,8 @@ var import_multipleElementAddButton = require("./multipleElementAddButton.cjs");
|
|
|
35
35
|
var import_isFieldMultiple = require("./isFieldMultiple.cjs");
|
|
36
36
|
var import_handleInlineEditableField = require("./handleInlineEditableField.cjs");
|
|
37
37
|
var import_pasteAsPlainText = require("./pasteAsPlainText.cjs");
|
|
38
|
-
var import_getEntryPermissionsCached = require("./getEntryPermissionsCached.cjs");
|
|
39
38
|
var import_generateToolbar = require("../generators/generateToolbar.cjs");
|
|
39
|
+
var import_fetchEntryPermissionsAndStageDetails = require("./fetchEntryPermissionsAndStageDetails.cjs");
|
|
40
40
|
async function handleIndividualFields(eventDetails, elements) {
|
|
41
41
|
const { fieldMetadata, editableElement } = eventDetails;
|
|
42
42
|
const { visualBuilderContainer, lastEditedField, resizeObserver } = elements;
|
|
@@ -55,7 +55,7 @@ async function handleIndividualFields(eventDetails, elements) {
|
|
|
55
55
|
)
|
|
56
56
|
]);
|
|
57
57
|
const fieldType = (0, import_getFieldType.getFieldType)(fieldSchema);
|
|
58
|
-
const entryAcl = await (0,
|
|
58
|
+
const { acl: entryAcl, workflowStage: entryWorkflowStageDetails } = await (0, import_fetchEntryPermissionsAndStageDetails.fetchEntryPermissionsAndStageDetails)({
|
|
59
59
|
entryUid: entry_uid,
|
|
60
60
|
contentTypeUid: content_type_uid,
|
|
61
61
|
locale
|
|
@@ -63,7 +63,8 @@ async function handleIndividualFields(eventDetails, elements) {
|
|
|
63
63
|
const { isDisabled: disabled } = (0, import_isFieldDisabled.isFieldDisabled)(
|
|
64
64
|
fieldSchema,
|
|
65
65
|
eventDetails,
|
|
66
|
-
entryAcl
|
|
66
|
+
entryAcl,
|
|
67
|
+
entryWorkflowStageDetails
|
|
67
68
|
);
|
|
68
69
|
editableElement.setAttribute(
|
|
69
70
|
import_constants.VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/utils/handleIndividualFields.ts"],"sourcesContent":["import { VisualBuilder } from \"..\";\nimport { VisualBuilderCslpEventDetails } from \"../types/visualBuilder.types\";\nimport { VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY } from \"./constants\";\nimport { FieldSchemaMap } from \"./fieldSchemaMap\";\nimport { getFieldData } from \"./getFieldData\";\nimport { getFieldType } from \"./getFieldType\";\nimport { handleFieldInput, handleFieldKeyDown } from \"./handleFieldMouseDown\";\nimport { isFieldDisabled } from \"./isFieldDisabled\";\nimport {\n handleAddButtonsForMultiple,\n removeAddInstanceButtons,\n} from \"./multipleElementAddButton\";\nimport { isFieldMultiple } from \"./isFieldMultiple\";\nimport { handleInlineEditableField } from \"./handleInlineEditableField\";\nimport { VisualBuilderEditContext } from \"./types/index.types\";\nimport { pasteAsPlainText } from \"./pasteAsPlainText\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/handleIndividualFields.ts"],"sourcesContent":["import { VisualBuilder } from \"..\";\nimport { VisualBuilderCslpEventDetails } from \"../types/visualBuilder.types\";\nimport { VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY } from \"./constants\";\nimport { FieldSchemaMap } from \"./fieldSchemaMap\";\nimport { getFieldData } from \"./getFieldData\";\nimport { getFieldType } from \"./getFieldType\";\nimport { handleFieldInput, handleFieldKeyDown } from \"./handleFieldMouseDown\";\nimport { isFieldDisabled } from \"./isFieldDisabled\";\nimport {\n handleAddButtonsForMultiple,\n removeAddInstanceButtons,\n} from \"./multipleElementAddButton\";\nimport { isFieldMultiple } from \"./isFieldMultiple\";\nimport { handleInlineEditableField } from \"./handleInlineEditableField\";\nimport { VisualBuilderEditContext } from \"./types/index.types\";\nimport { pasteAsPlainText } from \"./pasteAsPlainText\";\nimport { removeFieldToolbar } from \"../generators/generateToolbar\";\nimport { fetchEntryPermissionsAndStageDetails } from \"./fetchEntryPermissionsAndStageDetails\";\n\n/**\n * It handles all the fields based on their data type and its \"multiple\" property.\n * @param eventDetails The event details object that contain cslp and field metadata.\n * @param elements The elements object that contain the visual builder wrapper.\n */\nexport async function handleIndividualFields(\n eventDetails: VisualBuilderCslpEventDetails,\n elements: VisualBuilderEditContext\n): Promise<void> {\n const { fieldMetadata, editableElement } = eventDetails;\n const { visualBuilderContainer, lastEditedField, resizeObserver } =\n elements;\n const {\n content_type_uid,\n entry_uid,\n locale,\n fieldPath,\n fieldPathWithIndex,\n } = fieldMetadata;\n\n const [fieldSchema, expectedFieldData] = await Promise.all([\n FieldSchemaMap.getFieldSchema(content_type_uid, fieldPath),\n getFieldData(\n { content_type_uid, entry_uid, locale },\n fieldPathWithIndex\n ),\n ]);\n\n const fieldType = getFieldType(fieldSchema);\n\n const { acl: entryAcl, workflowStage: entryWorkflowStageDetails } =\n await fetchEntryPermissionsAndStageDetails({\n entryUid: entry_uid,\n contentTypeUid: content_type_uid,\n locale,\n });\n const { isDisabled: disabled } = isFieldDisabled(\n fieldSchema,\n eventDetails,\n entryAcl,\n entryWorkflowStageDetails\n );\n\n editableElement.setAttribute(\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,\n fieldType\n );\n\n if (isFieldMultiple(fieldSchema)) {\n if (lastEditedField !== editableElement) {\n const addButtonLabel =\n fieldSchema.data_type === \"blocks\"\n ? // ? `Add ${fieldSchema.display_name ?? \"Modular Block\"}`\n \"Add Section\"\n : undefined;\n\n handleAddButtonsForMultiple(\n eventDetails,\n {\n editableElement: eventDetails.editableElement,\n visualBuilderContainer: visualBuilderContainer,\n resizeObserver: resizeObserver,\n },\n {\n fieldSchema,\n expectedFieldData,\n disabled,\n label: addButtonLabel,\n }\n );\n }\n }\n\n if (disabled) {\n return;\n }\n handleInlineEditableField({\n fieldType,\n fieldSchema,\n fieldMetadata,\n expectedFieldData,\n editableElement: editableElement as HTMLElement,\n elements,\n });\n}\n\nexport function cleanIndividualFieldResidual(elements: {\n overlayWrapper: HTMLDivElement;\n visualBuilderContainer: HTMLDivElement | null;\n focusedToolbar: HTMLDivElement | null;\n resizeObserver: ResizeObserver;\n}): void {\n const { overlayWrapper, visualBuilderContainer, focusedToolbar } = elements;\n\n removeAddInstanceButtons(\n {\n eventTarget: null,\n visualBuilderContainer: visualBuilderContainer,\n overlayWrapper: overlayWrapper,\n },\n true\n );\n\n const previousSelectedEditableDOM =\n VisualBuilder.VisualBuilderGlobalState.value\n .previousSelectedEditableDOM;\n if (previousSelectedEditableDOM) {\n previousSelectedEditableDOM.removeAttribute(\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY\n );\n previousSelectedEditableDOM.removeAttribute(\"contenteditable\");\n previousSelectedEditableDOM.removeEventListener(\n \"input\",\n handleFieldInput\n );\n previousSelectedEditableDOM.removeEventListener(\n \"keydown\",\n handleFieldKeyDown\n );\n\n previousSelectedEditableDOM.removeEventListener(\n \"paste\",\n pasteAsPlainText\n );\n // Note - this happens in two places, 1. hideOverlay and 2. here\n // TODO maybe see all usages of both functions and try to do it in one place\n elements.resizeObserver.unobserve(previousSelectedEditableDOM);\n }\n\n const pseudoEditableElement = visualBuilderContainer?.querySelector(\n \".visual-builder__pseudo-editable-element\"\n );\n if (pseudoEditableElement) {\n elements.resizeObserver.unobserve(pseudoEditableElement);\n pseudoEditableElement.removeEventListener(\"paste\", pasteAsPlainText);\n pseudoEditableElement.remove();\n if (previousSelectedEditableDOM) {\n (previousSelectedEditableDOM as HTMLElement).style.removeProperty(\n \"visibility\"\n );\n }\n }\n\n if (focusedToolbar) {\n removeFieldToolbar(focusedToolbar);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAA8B;AAE9B,uBAAwD;AACxD,4BAA+B;AAC/B,0BAA6B;AAC7B,0BAA6B;AAC7B,kCAAqD;AACrD,6BAAgC;AAChC,sCAGO;AACP,6BAAgC;AAChC,uCAA0C;AAE1C,8BAAiC;AACjC,6BAAmC;AACnC,kDAAqD;AAOrD,eAAsB,uBAClB,cACA,UACa;AACb,QAAM,EAAE,eAAe,gBAAgB,IAAI;AAC3C,QAAM,EAAE,wBAAwB,iBAAiB,eAAe,IAC5D;AACJ,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAI;AAEJ,QAAM,CAAC,aAAa,iBAAiB,IAAI,MAAM,QAAQ,IAAI;AAAA,IACvD,qCAAe,eAAe,kBAAkB,SAAS;AAAA,QACzD;AAAA,MACI,EAAE,kBAAkB,WAAW,OAAO;AAAA,MACtC;AAAA,IACJ;AAAA,EACJ,CAAC;AAED,QAAM,gBAAY,kCAAa,WAAW;AAE1C,QAAM,EAAE,KAAK,UAAU,eAAe,0BAA0B,IAC5D,UAAM,kFAAqC;AAAA,IACvC,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB;AAAA,EACJ,CAAC;AACL,QAAM,EAAE,YAAY,SAAS,QAAI;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAEA,kBAAgB;AAAA,IACZ;AAAA,IACA;AAAA,EACJ;AAEA,UAAI,wCAAgB,WAAW,GAAG;AAC9B,QAAI,oBAAoB,iBAAiB;AACrC,YAAM,iBACF,YAAY,cAAc;AAAA;AAAA,QAEpB;AAAA,UACA;AAEV;AAAA,QACI;AAAA,QACA;AAAA,UACI,iBAAiB,aAAa;AAAA,UAC9B;AAAA,UACA;AAAA,QACJ;AAAA,QACA;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO;AAAA,QACX;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,UAAU;AACV;AAAA,EACJ;AACA,kEAA0B;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAEO,SAAS,6BAA6B,UAKpC;AACL,QAAM,EAAE,gBAAgB,wBAAwB,eAAe,IAAI;AAEnE;AAAA,IACI;AAAA,MACI,aAAa;AAAA,MACb;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ;AAEA,QAAM,8BACF,uBAAc,yBAAyB,MAClC;AACT,MAAI,6BAA6B;AAC7B,gCAA4B;AAAA,MACxB;AAAA,IACJ;AACA,gCAA4B,gBAAgB,iBAAiB;AAC7D,gCAA4B;AAAA,MACxB;AAAA,MACA;AAAA,IACJ;AACA,gCAA4B;AAAA,MACxB;AAAA,MACA;AAAA,IACJ;AAEA,gCAA4B;AAAA,MACxB;AAAA,MACA;AAAA,IACJ;AAGA,aAAS,eAAe,UAAU,2BAA2B;AAAA,EACjE;AAEA,QAAM,wBAAwB,iEAAwB;AAAA,IAClD;AAAA;AAEJ,MAAI,uBAAuB;AACvB,aAAS,eAAe,UAAU,qBAAqB;AACvD,0BAAsB,oBAAoB,SAAS,wCAAgB;AACnE,0BAAsB,OAAO;AAC7B,QAAI,6BAA6B;AAC7B,MAAC,4BAA4C,MAAM;AAAA,QAC/C;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,gBAAgB;AAChB,mDAAmB,cAAc;AAAA,EACrC;AACJ;","names":[]}
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
import { isFieldMultiple } from "./isFieldMultiple.js";
|
|
16
16
|
import { handleInlineEditableField } from "./handleInlineEditableField.js";
|
|
17
17
|
import { pasteAsPlainText } from "./pasteAsPlainText.js";
|
|
18
|
-
import { getEntryPermissionsCached } from "./getEntryPermissionsCached.js";
|
|
19
18
|
import { removeFieldToolbar } from "../generators/generateToolbar.js";
|
|
19
|
+
import { fetchEntryPermissionsAndStageDetails } from "./fetchEntryPermissionsAndStageDetails.js";
|
|
20
20
|
async function handleIndividualFields(eventDetails, elements) {
|
|
21
21
|
const { fieldMetadata, editableElement } = eventDetails;
|
|
22
22
|
const { visualBuilderContainer, lastEditedField, resizeObserver } = elements;
|
|
@@ -35,7 +35,7 @@ async function handleIndividualFields(eventDetails, elements) {
|
|
|
35
35
|
)
|
|
36
36
|
]);
|
|
37
37
|
const fieldType = getFieldType(fieldSchema);
|
|
38
|
-
const entryAcl = await
|
|
38
|
+
const { acl: entryAcl, workflowStage: entryWorkflowStageDetails } = await fetchEntryPermissionsAndStageDetails({
|
|
39
39
|
entryUid: entry_uid,
|
|
40
40
|
contentTypeUid: content_type_uid,
|
|
41
41
|
locale
|
|
@@ -43,7 +43,8 @@ async function handleIndividualFields(eventDetails, elements) {
|
|
|
43
43
|
const { isDisabled: disabled } = isFieldDisabled(
|
|
44
44
|
fieldSchema,
|
|
45
45
|
eventDetails,
|
|
46
|
-
entryAcl
|
|
46
|
+
entryAcl,
|
|
47
|
+
entryWorkflowStageDetails
|
|
47
48
|
);
|
|
48
49
|
editableElement.setAttribute(
|
|
49
50
|
VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/utils/handleIndividualFields.ts"],"sourcesContent":["import { VisualBuilder } from \"..\";\nimport { VisualBuilderCslpEventDetails } from \"../types/visualBuilder.types\";\nimport { VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY } from \"./constants\";\nimport { FieldSchemaMap } from \"./fieldSchemaMap\";\nimport { getFieldData } from \"./getFieldData\";\nimport { getFieldType } from \"./getFieldType\";\nimport { handleFieldInput, handleFieldKeyDown } from \"./handleFieldMouseDown\";\nimport { isFieldDisabled } from \"./isFieldDisabled\";\nimport {\n handleAddButtonsForMultiple,\n removeAddInstanceButtons,\n} from \"./multipleElementAddButton\";\nimport { isFieldMultiple } from \"./isFieldMultiple\";\nimport { handleInlineEditableField } from \"./handleInlineEditableField\";\nimport { VisualBuilderEditContext } from \"./types/index.types\";\nimport { pasteAsPlainText } from \"./pasteAsPlainText\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/handleIndividualFields.ts"],"sourcesContent":["import { VisualBuilder } from \"..\";\nimport { VisualBuilderCslpEventDetails } from \"../types/visualBuilder.types\";\nimport { VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY } from \"./constants\";\nimport { FieldSchemaMap } from \"./fieldSchemaMap\";\nimport { getFieldData } from \"./getFieldData\";\nimport { getFieldType } from \"./getFieldType\";\nimport { handleFieldInput, handleFieldKeyDown } from \"./handleFieldMouseDown\";\nimport { isFieldDisabled } from \"./isFieldDisabled\";\nimport {\n handleAddButtonsForMultiple,\n removeAddInstanceButtons,\n} from \"./multipleElementAddButton\";\nimport { isFieldMultiple } from \"./isFieldMultiple\";\nimport { handleInlineEditableField } from \"./handleInlineEditableField\";\nimport { VisualBuilderEditContext } from \"./types/index.types\";\nimport { pasteAsPlainText } from \"./pasteAsPlainText\";\nimport { removeFieldToolbar } from \"../generators/generateToolbar\";\nimport { fetchEntryPermissionsAndStageDetails } from \"./fetchEntryPermissionsAndStageDetails\";\n\n/**\n * It handles all the fields based on their data type and its \"multiple\" property.\n * @param eventDetails The event details object that contain cslp and field metadata.\n * @param elements The elements object that contain the visual builder wrapper.\n */\nexport async function handleIndividualFields(\n eventDetails: VisualBuilderCslpEventDetails,\n elements: VisualBuilderEditContext\n): Promise<void> {\n const { fieldMetadata, editableElement } = eventDetails;\n const { visualBuilderContainer, lastEditedField, resizeObserver } =\n elements;\n const {\n content_type_uid,\n entry_uid,\n locale,\n fieldPath,\n fieldPathWithIndex,\n } = fieldMetadata;\n\n const [fieldSchema, expectedFieldData] = await Promise.all([\n FieldSchemaMap.getFieldSchema(content_type_uid, fieldPath),\n getFieldData(\n { content_type_uid, entry_uid, locale },\n fieldPathWithIndex\n ),\n ]);\n\n const fieldType = getFieldType(fieldSchema);\n\n const { acl: entryAcl, workflowStage: entryWorkflowStageDetails } =\n await fetchEntryPermissionsAndStageDetails({\n entryUid: entry_uid,\n contentTypeUid: content_type_uid,\n locale,\n });\n const { isDisabled: disabled } = isFieldDisabled(\n fieldSchema,\n eventDetails,\n entryAcl,\n entryWorkflowStageDetails\n );\n\n editableElement.setAttribute(\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,\n fieldType\n );\n\n if (isFieldMultiple(fieldSchema)) {\n if (lastEditedField !== editableElement) {\n const addButtonLabel =\n fieldSchema.data_type === \"blocks\"\n ? // ? `Add ${fieldSchema.display_name ?? \"Modular Block\"}`\n \"Add Section\"\n : undefined;\n\n handleAddButtonsForMultiple(\n eventDetails,\n {\n editableElement: eventDetails.editableElement,\n visualBuilderContainer: visualBuilderContainer,\n resizeObserver: resizeObserver,\n },\n {\n fieldSchema,\n expectedFieldData,\n disabled,\n label: addButtonLabel,\n }\n );\n }\n }\n\n if (disabled) {\n return;\n }\n handleInlineEditableField({\n fieldType,\n fieldSchema,\n fieldMetadata,\n expectedFieldData,\n editableElement: editableElement as HTMLElement,\n elements,\n });\n}\n\nexport function cleanIndividualFieldResidual(elements: {\n overlayWrapper: HTMLDivElement;\n visualBuilderContainer: HTMLDivElement | null;\n focusedToolbar: HTMLDivElement | null;\n resizeObserver: ResizeObserver;\n}): void {\n const { overlayWrapper, visualBuilderContainer, focusedToolbar } = elements;\n\n removeAddInstanceButtons(\n {\n eventTarget: null,\n visualBuilderContainer: visualBuilderContainer,\n overlayWrapper: overlayWrapper,\n },\n true\n );\n\n const previousSelectedEditableDOM =\n VisualBuilder.VisualBuilderGlobalState.value\n .previousSelectedEditableDOM;\n if (previousSelectedEditableDOM) {\n previousSelectedEditableDOM.removeAttribute(\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY\n );\n previousSelectedEditableDOM.removeAttribute(\"contenteditable\");\n previousSelectedEditableDOM.removeEventListener(\n \"input\",\n handleFieldInput\n );\n previousSelectedEditableDOM.removeEventListener(\n \"keydown\",\n handleFieldKeyDown\n );\n\n previousSelectedEditableDOM.removeEventListener(\n \"paste\",\n pasteAsPlainText\n );\n // Note - this happens in two places, 1. hideOverlay and 2. here\n // TODO maybe see all usages of both functions and try to do it in one place\n elements.resizeObserver.unobserve(previousSelectedEditableDOM);\n }\n\n const pseudoEditableElement = visualBuilderContainer?.querySelector(\n \".visual-builder__pseudo-editable-element\"\n );\n if (pseudoEditableElement) {\n elements.resizeObserver.unobserve(pseudoEditableElement);\n pseudoEditableElement.removeEventListener(\"paste\", pasteAsPlainText);\n pseudoEditableElement.remove();\n if (previousSelectedEditableDOM) {\n (previousSelectedEditableDOM as HTMLElement).style.removeProperty(\n \"visibility\"\n );\n }\n }\n\n if (focusedToolbar) {\n removeFieldToolbar(focusedToolbar);\n }\n}\n"],"mappings":";;;AAAA,SAAS,qBAAqB;AAE9B,SAAS,+CAA+C;AACxD,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB,0BAA0B;AACrD,SAAS,uBAAuB;AAChC;AAAA,EACI;AAAA,EACA;AAAA,OACG;AACP,SAAS,uBAAuB;AAChC,SAAS,iCAAiC;AAE1C,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AACnC,SAAS,4CAA4C;AAOrD,eAAsB,uBAClB,cACA,UACa;AACb,QAAM,EAAE,eAAe,gBAAgB,IAAI;AAC3C,QAAM,EAAE,wBAAwB,iBAAiB,eAAe,IAC5D;AACJ,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAI;AAEJ,QAAM,CAAC,aAAa,iBAAiB,IAAI,MAAM,QAAQ,IAAI;AAAA,IACvD,eAAe,eAAe,kBAAkB,SAAS;AAAA,IACzD;AAAA,MACI,EAAE,kBAAkB,WAAW,OAAO;AAAA,MACtC;AAAA,IACJ;AAAA,EACJ,CAAC;AAED,QAAM,YAAY,aAAa,WAAW;AAE1C,QAAM,EAAE,KAAK,UAAU,eAAe,0BAA0B,IAC5D,MAAM,qCAAqC;AAAA,IACvC,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB;AAAA,EACJ,CAAC;AACL,QAAM,EAAE,YAAY,SAAS,IAAI;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAEA,kBAAgB;AAAA,IACZ;AAAA,IACA;AAAA,EACJ;AAEA,MAAI,gBAAgB,WAAW,GAAG;AAC9B,QAAI,oBAAoB,iBAAiB;AACrC,YAAM,iBACF,YAAY,cAAc;AAAA;AAAA,QAEpB;AAAA,UACA;AAEV;AAAA,QACI;AAAA,QACA;AAAA,UACI,iBAAiB,aAAa;AAAA,UAC9B;AAAA,UACA;AAAA,QACJ;AAAA,QACA;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO;AAAA,QACX;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,UAAU;AACV;AAAA,EACJ;AACA,4BAA0B;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AACL;AAEO,SAAS,6BAA6B,UAKpC;AACL,QAAM,EAAE,gBAAgB,wBAAwB,eAAe,IAAI;AAEnE;AAAA,IACI;AAAA,MACI,aAAa;AAAA,MACb;AAAA,MACA;AAAA,IACJ;AAAA,IACA;AAAA,EACJ;AAEA,QAAM,8BACF,cAAc,yBAAyB,MAClC;AACT,MAAI,6BAA6B;AAC7B,gCAA4B;AAAA,MACxB;AAAA,IACJ;AACA,gCAA4B,gBAAgB,iBAAiB;AAC7D,gCAA4B;AAAA,MACxB;AAAA,MACA;AAAA,IACJ;AACA,gCAA4B;AAAA,MACxB;AAAA,MACA;AAAA,IACJ;AAEA,gCAA4B;AAAA,MACxB;AAAA,MACA;AAAA,IACJ;AAGA,aAAS,eAAe,UAAU,2BAA2B;AAAA,EACjE;AAEA,QAAM,wBAAwB,iEAAwB;AAAA,IAClD;AAAA;AAEJ,MAAI,uBAAuB;AACvB,aAAS,eAAe,UAAU,qBAAqB;AACvD,0BAAsB,oBAAoB,SAAS,gBAAgB;AACnE,0BAAsB,OAAO;AAC7B,QAAI,6BAA6B;AAC7B,MAAC,4BAA4C,MAAM;AAAA,QAC/C;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,gBAAgB;AAChB,uBAAmB,cAAc;AAAA,EACrC;AACJ;","names":[]}
|
|
@@ -35,25 +35,49 @@ __export(isFieldDisabled_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(isFieldDisabled_exports);
|
|
36
36
|
var import_configManager = __toESM(require("../../configManager/configManager.cjs"), 1);
|
|
37
37
|
var import__ = require("../index.cjs");
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
var DisableReason = {
|
|
39
|
+
ReadOnly: "You have only read access to this field",
|
|
40
|
+
LocalizedEntry: "Editing this field is restricted in localized entries",
|
|
41
|
+
UnlinkedVariant: "This field is not editable as it is not linked to the selected variant",
|
|
42
|
+
AudienceMode: "Open an Experience from Audience widget to start editing",
|
|
43
|
+
DisabledVariant: "This field is not editable as it doesn't match the selected variant",
|
|
44
|
+
UnlocalizedVariant: "This field is not editable as it is not localized",
|
|
45
|
+
None: "",
|
|
46
|
+
EntryUpdateRestricted: "You do not have permission to edit this entry",
|
|
47
|
+
WorkflowStagePermission: ({ stageName }) => `You do not have Edit access to this entry on the '${stageName}' workflow stage`,
|
|
48
|
+
EntryUpdateRestrictedRoleAndWorkflowStage: ({
|
|
49
|
+
stageName
|
|
50
|
+
}) => `Editing is restricted for your role or by the rules for the '${stageName}' stage. Contact your admin for edit access.`
|
|
51
|
+
};
|
|
52
|
+
var getDisableReason = (flags, params) => {
|
|
53
|
+
if (flags.updateRestrictDueToRole) return DisableReason.ReadOnly;
|
|
43
54
|
if (flags.updateRestrictDueToNonLocalizableFields)
|
|
44
|
-
return
|
|
55
|
+
return DisableReason.LocalizedEntry;
|
|
45
56
|
if (flags.updateRestrictDueToUnlocalizedVariant)
|
|
46
|
-
return
|
|
57
|
+
return DisableReason.UnlocalizedVariant;
|
|
47
58
|
if (flags.updateRestrictDueToUnlinkVariant)
|
|
48
|
-
return
|
|
59
|
+
return DisableReason.UnlinkedVariant;
|
|
49
60
|
if (flags.updateRestrictDueToAudienceMode)
|
|
50
|
-
return
|
|
61
|
+
return DisableReason.AudienceMode;
|
|
51
62
|
if (flags.updateRestrictDueToDisabledVariant)
|
|
52
|
-
return
|
|
53
|
-
|
|
63
|
+
return DisableReason.DisabledVariant;
|
|
64
|
+
if (flags.updateRestrictDueToEntryUpdateRestriction && flags.updateRestrictDueToWorkflowStagePermission) {
|
|
65
|
+
return DisableReason.EntryUpdateRestrictedRoleAndWorkflowStage({
|
|
66
|
+
stageName: (params == null ? void 0 : params.stageName) ? params.stageName : "Unknown"
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (flags.updateRestrictDueToEntryUpdateRestriction) {
|
|
70
|
+
return DisableReason.EntryUpdateRestricted;
|
|
71
|
+
}
|
|
72
|
+
if (flags.updateRestrictDueToWorkflowStagePermission) {
|
|
73
|
+
return DisableReason.WorkflowStagePermission({
|
|
74
|
+
stageName: (params == null ? void 0 : params.stageName) ? params.stageName : "Unknown"
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return DisableReason.None;
|
|
54
78
|
};
|
|
55
|
-
var isFieldDisabled = (fieldSchemaMap, eventFieldDetails, entryPermissions) => {
|
|
56
|
-
var _a, _b;
|
|
79
|
+
var isFieldDisabled = (fieldSchemaMap, eventFieldDetails, entryPermissions, entryWorkflowStageDetails) => {
|
|
80
|
+
var _a, _b, _c;
|
|
57
81
|
const { editableElement, fieldMetadata } = eventFieldDetails;
|
|
58
82
|
const masterLocale = import_configManager.default.get().stackDetails.masterLocale || "en-us";
|
|
59
83
|
const { locale: cmsLocale, variant } = import__.VisualBuilder.VisualBuilderGlobalState.value;
|
|
@@ -76,6 +100,9 @@ var isFieldDisabled = (fieldSchemaMap, eventFieldDetails, entryPermissions) => {
|
|
|
76
100
|
if (entryPermissions && !entryPermissions.update) {
|
|
77
101
|
flags.updateRestrictDueToEntryUpdateRestriction = true;
|
|
78
102
|
}
|
|
103
|
+
if (entryWorkflowStageDetails && !entryWorkflowStageDetails.permissions.entry.update) {
|
|
104
|
+
flags.updateRestrictDueToWorkflowStagePermission = true;
|
|
105
|
+
}
|
|
79
106
|
if (import__.VisualBuilder.VisualBuilderGlobalState.value.audienceMode && !editableElement.classList.contains("visual-builder__variant-field") && !editableElement.classList.contains("visual-builder__base-field")) {
|
|
80
107
|
if (editableElement.classList.contains(
|
|
81
108
|
"visual-builder__disabled-variant-field"
|
|
@@ -86,7 +113,9 @@ var isFieldDisabled = (fieldSchemaMap, eventFieldDetails, entryPermissions) => {
|
|
|
86
113
|
}
|
|
87
114
|
}
|
|
88
115
|
const isDisabled = Object.values(flags).some(Boolean);
|
|
89
|
-
const reason = getDisableReason(flags
|
|
116
|
+
const reason = getDisableReason(flags, {
|
|
117
|
+
stageName: (_c = entryWorkflowStageDetails == null ? void 0 : entryWorkflowStageDetails.stage) == null ? void 0 : _c.name
|
|
118
|
+
});
|
|
90
119
|
return { isDisabled, reason };
|
|
91
120
|
};
|
|
92
121
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/utils/isFieldDisabled.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/isFieldDisabled.ts"],"sourcesContent":["import Config from \"../../configManager/configManager\";\nimport { ISchemaFieldMap } from \"./types/index.types\";\nimport { VisualBuilder } from \"..\";\nimport { FieldDetails } from \"../components/FieldToolbar\";\nimport { EntryPermissions } from \"./getEntryPermissions\";\nimport { WorkflowStageDetails } from \"./getWorkflowStageDetails\";\n\nconst DisableReason = {\n ReadOnly: \"You have only read access to this field\",\n LocalizedEntry: \"Editing this field is restricted in localized entries\",\n UnlinkedVariant:\n \"This field is not editable as it is not linked to the selected variant\",\n AudienceMode: \"Open an Experience from Audience widget to start editing\",\n DisabledVariant:\n \"This field is not editable as it doesn't match the selected variant\",\n UnlocalizedVariant: \"This field is not editable as it is not localized\",\n None: \"\",\n EntryUpdateRestricted: \"You do not have permission to edit this entry\",\n WorkflowStagePermission: ({ stageName }: { stageName: string }) =>\n `You do not have Edit access to this entry on the '${stageName}' workflow stage`,\n EntryUpdateRestrictedRoleAndWorkflowStage: ({\n stageName,\n }: {\n stageName: string;\n }) =>\n `Editing is restricted for your role or by the rules for the '${stageName}' stage. Contact your admin for edit access.`,\n} as const;\n\ninterface FieldDisableState {\n isDisabled: boolean;\n reason: string;\n}\n\nconst getDisableReason = (\n flags: Record<string, boolean>,\n params?: Record<string, any>\n) => {\n if (flags.updateRestrictDueToRole) return DisableReason.ReadOnly;\n if (flags.updateRestrictDueToNonLocalizableFields)\n return DisableReason.LocalizedEntry;\n if (flags.updateRestrictDueToUnlocalizedVariant)\n return DisableReason.UnlocalizedVariant;\n if (flags.updateRestrictDueToUnlinkVariant)\n return DisableReason.UnlinkedVariant;\n if (flags.updateRestrictDueToAudienceMode)\n return DisableReason.AudienceMode;\n if (flags.updateRestrictDueToDisabledVariant)\n return DisableReason.DisabledVariant;\n if (\n flags.updateRestrictDueToEntryUpdateRestriction &&\n flags.updateRestrictDueToWorkflowStagePermission\n ) {\n return DisableReason.EntryUpdateRestrictedRoleAndWorkflowStage({\n stageName: params?.stageName ? params.stageName : \"Unknown\",\n });\n }\n if (flags.updateRestrictDueToEntryUpdateRestriction) {\n return DisableReason.EntryUpdateRestricted;\n }\n if (flags.updateRestrictDueToWorkflowStagePermission) {\n return DisableReason.WorkflowStagePermission({\n stageName: params?.stageName ? params.stageName : \"Unknown\",\n });\n }\n return DisableReason.None;\n};\n\nexport const isFieldDisabled = (\n fieldSchemaMap: ISchemaFieldMap,\n eventFieldDetails: FieldDetails,\n entryPermissions?: EntryPermissions,\n entryWorkflowStageDetails?: WorkflowStageDetails\n): FieldDisableState => {\n const { editableElement, fieldMetadata } = eventFieldDetails;\n const masterLocale = Config.get().stackDetails.masterLocale || \"en-us\";\n const { locale: cmsLocale, variant } =\n VisualBuilder.VisualBuilderGlobalState.value;\n\n const flags: Record<string, boolean> = {\n updateRestrictDueToRole: Boolean(\n fieldSchemaMap?.field_metadata?.updateRestrict\n ),\n updateRestrictDueToUnlinkVariant: Boolean(\n fieldSchemaMap?.field_metadata?.isUnlinkedVariant\n ),\n updateRestrictDueToUnlocalizedVariant: Boolean(\n variant && fieldMetadata.locale !== cmsLocale\n ),\n updateRestrictDueToNonLocalizableFields: Boolean(\n fieldSchemaMap?.non_localizable &&\n masterLocale !== fieldMetadata.locale\n ),\n updateRestrictDueToAudienceMode: false,\n updateRestrictDueToDisabledVariant: false,\n };\n\n if (entryPermissions && !entryPermissions.update) {\n flags.updateRestrictDueToEntryUpdateRestriction = true;\n }\n\n if (\n entryWorkflowStageDetails &&\n !entryWorkflowStageDetails.permissions.entry.update\n ) {\n flags.updateRestrictDueToWorkflowStagePermission = true;\n }\n\n if (\n VisualBuilder.VisualBuilderGlobalState.value.audienceMode &&\n !editableElement.classList.contains(\"visual-builder__variant-field\") &&\n !editableElement.classList.contains(\"visual-builder__base-field\")\n ) {\n if (\n editableElement.classList.contains(\n \"visual-builder__disabled-variant-field\"\n )\n ) {\n flags.updateRestrictDueToDisabledVariant = true;\n } else {\n flags.updateRestrictDueToAudienceMode = true;\n }\n }\n\n const isDisabled = Object.values(flags).some(Boolean);\n const reason = getDisableReason(flags, {\n stageName: entryWorkflowStageDetails?.stage?.name,\n });\n\n return { isDisabled, reason };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAmB;AAEnB,eAA8B;AAK9B,IAAM,gBAAgB;AAAA,EAClB,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,iBACI;AAAA,EACJ,cAAc;AAAA,EACd,iBACI;AAAA,EACJ,oBAAoB;AAAA,EACpB,MAAM;AAAA,EACN,uBAAuB;AAAA,EACvB,yBAAyB,CAAC,EAAE,UAAU,MAClC,qDAAqD,SAAS;AAAA,EAClE,2CAA2C,CAAC;AAAA,IACxC;AAAA,EACJ,MAGI,gEAAgE,SAAS;AACjF;AAOA,IAAM,mBAAmB,CACrB,OACA,WACC;AACD,MAAI,MAAM,wBAAyB,QAAO,cAAc;AACxD,MAAI,MAAM;AACN,WAAO,cAAc;AACzB,MAAI,MAAM;AACN,WAAO,cAAc;AACzB,MAAI,MAAM;AACN,WAAO,cAAc;AACzB,MAAI,MAAM;AACN,WAAO,cAAc;AACzB,MAAI,MAAM;AACN,WAAO,cAAc;AACzB,MACI,MAAM,6CACN,MAAM,4CACR;AACE,WAAO,cAAc,0CAA0C;AAAA,MAC3D,YAAW,iCAAQ,aAAY,OAAO,YAAY;AAAA,IACtD,CAAC;AAAA,EACL;AACA,MAAI,MAAM,2CAA2C;AACjD,WAAO,cAAc;AAAA,EACzB;AACA,MAAI,MAAM,4CAA4C;AAClD,WAAO,cAAc,wBAAwB;AAAA,MACzC,YAAW,iCAAQ,aAAY,OAAO,YAAY;AAAA,IACtD,CAAC;AAAA,EACL;AACA,SAAO,cAAc;AACzB;AAEO,IAAM,kBAAkB,CAC3B,gBACA,mBACA,kBACA,8BACoB;AAxExB;AAyEI,QAAM,EAAE,iBAAiB,cAAc,IAAI;AAC3C,QAAM,eAAe,qBAAAA,QAAO,IAAI,EAAE,aAAa,gBAAgB;AAC/D,QAAM,EAAE,QAAQ,WAAW,QAAQ,IAC/B,uBAAc,yBAAyB;AAE3C,QAAM,QAAiC;AAAA,IACnC,yBAAyB;AAAA,OACrB,sDAAgB,mBAAhB,mBAAgC;AAAA,IACpC;AAAA,IACA,kCAAkC;AAAA,OAC9B,sDAAgB,mBAAhB,mBAAgC;AAAA,IACpC;AAAA,IACA,uCAAuC;AAAA,MACnC,WAAW,cAAc,WAAW;AAAA,IACxC;AAAA,IACA,yCAAyC;AAAA,OACrC,iDAAgB,oBACZ,iBAAiB,cAAc;AAAA,IACvC;AAAA,IACA,iCAAiC;AAAA,IACjC,oCAAoC;AAAA,EACxC;AAEA,MAAI,oBAAoB,CAAC,iBAAiB,QAAQ;AAC9C,UAAM,4CAA4C;AAAA,EACtD;AAEA,MACI,6BACA,CAAC,0BAA0B,YAAY,MAAM,QAC/C;AACE,UAAM,6CAA6C;AAAA,EACvD;AAEA,MACI,uBAAc,yBAAyB,MAAM,gBAC7C,CAAC,gBAAgB,UAAU,SAAS,+BAA+B,KACnE,CAAC,gBAAgB,UAAU,SAAS,4BAA4B,GAClE;AACE,QACI,gBAAgB,UAAU;AAAA,MACtB;AAAA,IACJ,GACF;AACE,YAAM,qCAAqC;AAAA,IAC/C,OAAO;AACH,YAAM,kCAAkC;AAAA,IAC5C;AAAA,EACJ;AAEA,QAAM,aAAa,OAAO,OAAO,KAAK,EAAE,KAAK,OAAO;AACpD,QAAM,SAAS,iBAAiB,OAAO;AAAA,IACnC,YAAW,4EAA2B,UAA3B,mBAAkC;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,YAAY,OAAO;AAChC;","names":["Config"]}
|
|
@@ -1,24 +1,15 @@
|
|
|
1
1
|
import { ISchemaFieldMap } from './types/index.types.cjs';
|
|
2
2
|
import { FieldDetails } from '../components/FieldToolbar.cjs';
|
|
3
3
|
import { EntryPermissions } from './getEntryPermissions.cjs';
|
|
4
|
+
import { WorkflowStageDetails } from './getWorkflowStageDetails.cjs';
|
|
4
5
|
import '../../cms/types/contentTypeSchema.types.cjs';
|
|
5
6
|
import '../types/visualBuilder.types.cjs';
|
|
6
7
|
import '../../cslp/types/cslp.types.cjs';
|
|
7
8
|
|
|
8
|
-
declare enum DisableReason {
|
|
9
|
-
ReadOnly = "You have only read access to this field",
|
|
10
|
-
LocalizedEntry = "Editing this field is restricted in localized entries",
|
|
11
|
-
UnlinkedVariant = "This field is not editable as it is not linked to the selected variant",
|
|
12
|
-
AudienceMode = "Open an Experience from Audience widget to start editing",
|
|
13
|
-
DisabledVariant = "This field is not editable as it doesn't match the selected variant",
|
|
14
|
-
UnlocalizedVariant = "This field is not editable as it is not localized",
|
|
15
|
-
None = "",
|
|
16
|
-
EntryUpdateRestricted = "You do not have permission to edit this entry"
|
|
17
|
-
}
|
|
18
9
|
interface FieldDisableState {
|
|
19
10
|
isDisabled: boolean;
|
|
20
|
-
reason:
|
|
11
|
+
reason: string;
|
|
21
12
|
}
|
|
22
|
-
declare const isFieldDisabled: (fieldSchemaMap: ISchemaFieldMap, eventFieldDetails: FieldDetails, entryPermissions?: EntryPermissions) => FieldDisableState;
|
|
13
|
+
declare const isFieldDisabled: (fieldSchemaMap: ISchemaFieldMap, eventFieldDetails: FieldDetails, entryPermissions?: EntryPermissions, entryWorkflowStageDetails?: WorkflowStageDetails) => FieldDisableState;
|
|
23
14
|
|
|
24
15
|
export { isFieldDisabled };
|
|
@@ -1,24 +1,15 @@
|
|
|
1
1
|
import { ISchemaFieldMap } from './types/index.types.js';
|
|
2
2
|
import { FieldDetails } from '../components/FieldToolbar.js';
|
|
3
3
|
import { EntryPermissions } from './getEntryPermissions.js';
|
|
4
|
+
import { WorkflowStageDetails } from './getWorkflowStageDetails.js';
|
|
4
5
|
import '../../cms/types/contentTypeSchema.types.js';
|
|
5
6
|
import '../types/visualBuilder.types.js';
|
|
6
7
|
import '../../cslp/types/cslp.types.js';
|
|
7
8
|
|
|
8
|
-
declare enum DisableReason {
|
|
9
|
-
ReadOnly = "You have only read access to this field",
|
|
10
|
-
LocalizedEntry = "Editing this field is restricted in localized entries",
|
|
11
|
-
UnlinkedVariant = "This field is not editable as it is not linked to the selected variant",
|
|
12
|
-
AudienceMode = "Open an Experience from Audience widget to start editing",
|
|
13
|
-
DisabledVariant = "This field is not editable as it doesn't match the selected variant",
|
|
14
|
-
UnlocalizedVariant = "This field is not editable as it is not localized",
|
|
15
|
-
None = "",
|
|
16
|
-
EntryUpdateRestricted = "You do not have permission to edit this entry"
|
|
17
|
-
}
|
|
18
9
|
interface FieldDisableState {
|
|
19
10
|
isDisabled: boolean;
|
|
20
|
-
reason:
|
|
11
|
+
reason: string;
|
|
21
12
|
}
|
|
22
|
-
declare const isFieldDisabled: (fieldSchemaMap: ISchemaFieldMap, eventFieldDetails: FieldDetails, entryPermissions?: EntryPermissions) => FieldDisableState;
|
|
13
|
+
declare const isFieldDisabled: (fieldSchemaMap: ISchemaFieldMap, eventFieldDetails: FieldDetails, entryPermissions?: EntryPermissions, entryWorkflowStageDetails?: WorkflowStageDetails) => FieldDisableState;
|
|
23
14
|
|
|
24
15
|
export { isFieldDisabled };
|
|
@@ -3,25 +3,49 @@ import "../../chunk-5WRI5ZAA.js";
|
|
|
3
3
|
// src/visualBuilder/utils/isFieldDisabled.ts
|
|
4
4
|
import Config from "../../configManager/configManager.js";
|
|
5
5
|
import { VisualBuilder } from "../index.js";
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
var DisableReason = {
|
|
7
|
+
ReadOnly: "You have only read access to this field",
|
|
8
|
+
LocalizedEntry: "Editing this field is restricted in localized entries",
|
|
9
|
+
UnlinkedVariant: "This field is not editable as it is not linked to the selected variant",
|
|
10
|
+
AudienceMode: "Open an Experience from Audience widget to start editing",
|
|
11
|
+
DisabledVariant: "This field is not editable as it doesn't match the selected variant",
|
|
12
|
+
UnlocalizedVariant: "This field is not editable as it is not localized",
|
|
13
|
+
None: "",
|
|
14
|
+
EntryUpdateRestricted: "You do not have permission to edit this entry",
|
|
15
|
+
WorkflowStagePermission: ({ stageName }) => `You do not have Edit access to this entry on the '${stageName}' workflow stage`,
|
|
16
|
+
EntryUpdateRestrictedRoleAndWorkflowStage: ({
|
|
17
|
+
stageName
|
|
18
|
+
}) => `Editing is restricted for your role or by the rules for the '${stageName}' stage. Contact your admin for edit access.`
|
|
19
|
+
};
|
|
20
|
+
var getDisableReason = (flags, params) => {
|
|
21
|
+
if (flags.updateRestrictDueToRole) return DisableReason.ReadOnly;
|
|
11
22
|
if (flags.updateRestrictDueToNonLocalizableFields)
|
|
12
|
-
return
|
|
23
|
+
return DisableReason.LocalizedEntry;
|
|
13
24
|
if (flags.updateRestrictDueToUnlocalizedVariant)
|
|
14
|
-
return
|
|
25
|
+
return DisableReason.UnlocalizedVariant;
|
|
15
26
|
if (flags.updateRestrictDueToUnlinkVariant)
|
|
16
|
-
return
|
|
27
|
+
return DisableReason.UnlinkedVariant;
|
|
17
28
|
if (flags.updateRestrictDueToAudienceMode)
|
|
18
|
-
return
|
|
29
|
+
return DisableReason.AudienceMode;
|
|
19
30
|
if (flags.updateRestrictDueToDisabledVariant)
|
|
20
|
-
return
|
|
21
|
-
|
|
31
|
+
return DisableReason.DisabledVariant;
|
|
32
|
+
if (flags.updateRestrictDueToEntryUpdateRestriction && flags.updateRestrictDueToWorkflowStagePermission) {
|
|
33
|
+
return DisableReason.EntryUpdateRestrictedRoleAndWorkflowStage({
|
|
34
|
+
stageName: (params == null ? void 0 : params.stageName) ? params.stageName : "Unknown"
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (flags.updateRestrictDueToEntryUpdateRestriction) {
|
|
38
|
+
return DisableReason.EntryUpdateRestricted;
|
|
39
|
+
}
|
|
40
|
+
if (flags.updateRestrictDueToWorkflowStagePermission) {
|
|
41
|
+
return DisableReason.WorkflowStagePermission({
|
|
42
|
+
stageName: (params == null ? void 0 : params.stageName) ? params.stageName : "Unknown"
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return DisableReason.None;
|
|
22
46
|
};
|
|
23
|
-
var isFieldDisabled = (fieldSchemaMap, eventFieldDetails, entryPermissions) => {
|
|
24
|
-
var _a, _b;
|
|
47
|
+
var isFieldDisabled = (fieldSchemaMap, eventFieldDetails, entryPermissions, entryWorkflowStageDetails) => {
|
|
48
|
+
var _a, _b, _c;
|
|
25
49
|
const { editableElement, fieldMetadata } = eventFieldDetails;
|
|
26
50
|
const masterLocale = Config.get().stackDetails.masterLocale || "en-us";
|
|
27
51
|
const { locale: cmsLocale, variant } = VisualBuilder.VisualBuilderGlobalState.value;
|
|
@@ -44,6 +68,9 @@ var isFieldDisabled = (fieldSchemaMap, eventFieldDetails, entryPermissions) => {
|
|
|
44
68
|
if (entryPermissions && !entryPermissions.update) {
|
|
45
69
|
flags.updateRestrictDueToEntryUpdateRestriction = true;
|
|
46
70
|
}
|
|
71
|
+
if (entryWorkflowStageDetails && !entryWorkflowStageDetails.permissions.entry.update) {
|
|
72
|
+
flags.updateRestrictDueToWorkflowStagePermission = true;
|
|
73
|
+
}
|
|
47
74
|
if (VisualBuilder.VisualBuilderGlobalState.value.audienceMode && !editableElement.classList.contains("visual-builder__variant-field") && !editableElement.classList.contains("visual-builder__base-field")) {
|
|
48
75
|
if (editableElement.classList.contains(
|
|
49
76
|
"visual-builder__disabled-variant-field"
|
|
@@ -54,7 +81,9 @@ var isFieldDisabled = (fieldSchemaMap, eventFieldDetails, entryPermissions) => {
|
|
|
54
81
|
}
|
|
55
82
|
}
|
|
56
83
|
const isDisabled = Object.values(flags).some(Boolean);
|
|
57
|
-
const reason = getDisableReason(flags
|
|
84
|
+
const reason = getDisableReason(flags, {
|
|
85
|
+
stageName: (_c = entryWorkflowStageDetails == null ? void 0 : entryWorkflowStageDetails.stage) == null ? void 0 : _c.name
|
|
86
|
+
});
|
|
58
87
|
return { isDisabled, reason };
|
|
59
88
|
};
|
|
60
89
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/utils/isFieldDisabled.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/isFieldDisabled.ts"],"sourcesContent":["import Config from \"../../configManager/configManager\";\nimport { ISchemaFieldMap } from \"./types/index.types\";\nimport { VisualBuilder } from \"..\";\nimport { FieldDetails } from \"../components/FieldToolbar\";\nimport { EntryPermissions } from \"./getEntryPermissions\";\nimport { WorkflowStageDetails } from \"./getWorkflowStageDetails\";\n\nconst DisableReason = {\n ReadOnly: \"You have only read access to this field\",\n LocalizedEntry: \"Editing this field is restricted in localized entries\",\n UnlinkedVariant:\n \"This field is not editable as it is not linked to the selected variant\",\n AudienceMode: \"Open an Experience from Audience widget to start editing\",\n DisabledVariant:\n \"This field is not editable as it doesn't match the selected variant\",\n UnlocalizedVariant: \"This field is not editable as it is not localized\",\n None: \"\",\n EntryUpdateRestricted: \"You do not have permission to edit this entry\",\n WorkflowStagePermission: ({ stageName }: { stageName: string }) =>\n `You do not have Edit access to this entry on the '${stageName}' workflow stage`,\n EntryUpdateRestrictedRoleAndWorkflowStage: ({\n stageName,\n }: {\n stageName: string;\n }) =>\n `Editing is restricted for your role or by the rules for the '${stageName}' stage. Contact your admin for edit access.`,\n} as const;\n\ninterface FieldDisableState {\n isDisabled: boolean;\n reason: string;\n}\n\nconst getDisableReason = (\n flags: Record<string, boolean>,\n params?: Record<string, any>\n) => {\n if (flags.updateRestrictDueToRole) return DisableReason.ReadOnly;\n if (flags.updateRestrictDueToNonLocalizableFields)\n return DisableReason.LocalizedEntry;\n if (flags.updateRestrictDueToUnlocalizedVariant)\n return DisableReason.UnlocalizedVariant;\n if (flags.updateRestrictDueToUnlinkVariant)\n return DisableReason.UnlinkedVariant;\n if (flags.updateRestrictDueToAudienceMode)\n return DisableReason.AudienceMode;\n if (flags.updateRestrictDueToDisabledVariant)\n return DisableReason.DisabledVariant;\n if (\n flags.updateRestrictDueToEntryUpdateRestriction &&\n flags.updateRestrictDueToWorkflowStagePermission\n ) {\n return DisableReason.EntryUpdateRestrictedRoleAndWorkflowStage({\n stageName: params?.stageName ? params.stageName : \"Unknown\",\n });\n }\n if (flags.updateRestrictDueToEntryUpdateRestriction) {\n return DisableReason.EntryUpdateRestricted;\n }\n if (flags.updateRestrictDueToWorkflowStagePermission) {\n return DisableReason.WorkflowStagePermission({\n stageName: params?.stageName ? params.stageName : \"Unknown\",\n });\n }\n return DisableReason.None;\n};\n\nexport const isFieldDisabled = (\n fieldSchemaMap: ISchemaFieldMap,\n eventFieldDetails: FieldDetails,\n entryPermissions?: EntryPermissions,\n entryWorkflowStageDetails?: WorkflowStageDetails\n): FieldDisableState => {\n const { editableElement, fieldMetadata } = eventFieldDetails;\n const masterLocale = Config.get().stackDetails.masterLocale || \"en-us\";\n const { locale: cmsLocale, variant } =\n VisualBuilder.VisualBuilderGlobalState.value;\n\n const flags: Record<string, boolean> = {\n updateRestrictDueToRole: Boolean(\n fieldSchemaMap?.field_metadata?.updateRestrict\n ),\n updateRestrictDueToUnlinkVariant: Boolean(\n fieldSchemaMap?.field_metadata?.isUnlinkedVariant\n ),\n updateRestrictDueToUnlocalizedVariant: Boolean(\n variant && fieldMetadata.locale !== cmsLocale\n ),\n updateRestrictDueToNonLocalizableFields: Boolean(\n fieldSchemaMap?.non_localizable &&\n masterLocale !== fieldMetadata.locale\n ),\n updateRestrictDueToAudienceMode: false,\n updateRestrictDueToDisabledVariant: false,\n };\n\n if (entryPermissions && !entryPermissions.update) {\n flags.updateRestrictDueToEntryUpdateRestriction = true;\n }\n\n if (\n entryWorkflowStageDetails &&\n !entryWorkflowStageDetails.permissions.entry.update\n ) {\n flags.updateRestrictDueToWorkflowStagePermission = true;\n }\n\n if (\n VisualBuilder.VisualBuilderGlobalState.value.audienceMode &&\n !editableElement.classList.contains(\"visual-builder__variant-field\") &&\n !editableElement.classList.contains(\"visual-builder__base-field\")\n ) {\n if (\n editableElement.classList.contains(\n \"visual-builder__disabled-variant-field\"\n )\n ) {\n flags.updateRestrictDueToDisabledVariant = true;\n } else {\n flags.updateRestrictDueToAudienceMode = true;\n }\n }\n\n const isDisabled = Object.values(flags).some(Boolean);\n const reason = getDisableReason(flags, {\n stageName: entryWorkflowStageDetails?.stage?.name,\n });\n\n return { isDisabled, reason };\n};\n"],"mappings":";;;AAAA,OAAO,YAAY;AAEnB,SAAS,qBAAqB;AAK9B,IAAM,gBAAgB;AAAA,EAClB,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,iBACI;AAAA,EACJ,cAAc;AAAA,EACd,iBACI;AAAA,EACJ,oBAAoB;AAAA,EACpB,MAAM;AAAA,EACN,uBAAuB;AAAA,EACvB,yBAAyB,CAAC,EAAE,UAAU,MAClC,qDAAqD,SAAS;AAAA,EAClE,2CAA2C,CAAC;AAAA,IACxC;AAAA,EACJ,MAGI,gEAAgE,SAAS;AACjF;AAOA,IAAM,mBAAmB,CACrB,OACA,WACC;AACD,MAAI,MAAM,wBAAyB,QAAO,cAAc;AACxD,MAAI,MAAM;AACN,WAAO,cAAc;AACzB,MAAI,MAAM;AACN,WAAO,cAAc;AACzB,MAAI,MAAM;AACN,WAAO,cAAc;AACzB,MAAI,MAAM;AACN,WAAO,cAAc;AACzB,MAAI,MAAM;AACN,WAAO,cAAc;AACzB,MACI,MAAM,6CACN,MAAM,4CACR;AACE,WAAO,cAAc,0CAA0C;AAAA,MAC3D,YAAW,iCAAQ,aAAY,OAAO,YAAY;AAAA,IACtD,CAAC;AAAA,EACL;AACA,MAAI,MAAM,2CAA2C;AACjD,WAAO,cAAc;AAAA,EACzB;AACA,MAAI,MAAM,4CAA4C;AAClD,WAAO,cAAc,wBAAwB;AAAA,MACzC,YAAW,iCAAQ,aAAY,OAAO,YAAY;AAAA,IACtD,CAAC;AAAA,EACL;AACA,SAAO,cAAc;AACzB;AAEO,IAAM,kBAAkB,CAC3B,gBACA,mBACA,kBACA,8BACoB;AAxExB;AAyEI,QAAM,EAAE,iBAAiB,cAAc,IAAI;AAC3C,QAAM,eAAe,OAAO,IAAI,EAAE,aAAa,gBAAgB;AAC/D,QAAM,EAAE,QAAQ,WAAW,QAAQ,IAC/B,cAAc,yBAAyB;AAE3C,QAAM,QAAiC;AAAA,IACnC,yBAAyB;AAAA,OACrB,sDAAgB,mBAAhB,mBAAgC;AAAA,IACpC;AAAA,IACA,kCAAkC;AAAA,OAC9B,sDAAgB,mBAAhB,mBAAgC;AAAA,IACpC;AAAA,IACA,uCAAuC;AAAA,MACnC,WAAW,cAAc,WAAW;AAAA,IACxC;AAAA,IACA,yCAAyC;AAAA,OACrC,iDAAgB,oBACZ,iBAAiB,cAAc;AAAA,IACvC;AAAA,IACA,iCAAiC;AAAA,IACjC,oCAAoC;AAAA,EACxC;AAEA,MAAI,oBAAoB,CAAC,iBAAiB,QAAQ;AAC9C,UAAM,4CAA4C;AAAA,EACtD;AAEA,MACI,6BACA,CAAC,0BAA0B,YAAY,MAAM,QAC/C;AACE,UAAM,6CAA6C;AAAA,EACvD;AAEA,MACI,cAAc,yBAAyB,MAAM,gBAC7C,CAAC,gBAAgB,UAAU,SAAS,+BAA+B,KACnE,CAAC,gBAAgB,UAAU,SAAS,4BAA4B,GAClE;AACE,QACI,gBAAgB,UAAU;AAAA,MACtB;AAAA,IACJ,GACF;AACE,YAAM,qCAAqC;AAAA,IAC/C,OAAO;AACH,YAAM,kCAAkC;AAAA,IAC5C;AAAA,EACJ;AAEA,QAAM,aAAa,OAAO,OAAO,KAAK,EAAE,KAAK,OAAO;AACpD,QAAM,SAAS,iBAAiB,OAAO;AAAA,IACnC,YAAW,4EAA2B,UAA3B,mBAAkC;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,YAAY,OAAO;AAChC;","names":[]}
|
|
@@ -53,6 +53,8 @@ var VisualBuilderPostMessageEvents = /* @__PURE__ */ ((VisualBuilderPostMessageE
|
|
|
53
53
|
VisualBuilderPostMessageEvents2["COLLAB_MISSING_THREADS"] = "collab-missing-threads";
|
|
54
54
|
VisualBuilderPostMessageEvents2["FIELD_LOCATION_DATA"] = "field-location-data";
|
|
55
55
|
VisualBuilderPostMessageEvents2["FIELD_LOCATION_SELECTED_APP"] = "field-location-selected-app";
|
|
56
|
+
VisualBuilderPostMessageEvents2["GET_PERMISSIONS"] = "get-permissions";
|
|
57
|
+
VisualBuilderPostMessageEvents2["GET_WORKFLOW_STAGE_DETAILS"] = "get-workflow-stage-details";
|
|
56
58
|
VisualBuilderPostMessageEvents2["GET_ALL_ENTRIES_IN_CURRENT_PAGE"] = "get-entries-in-current-page";
|
|
57
59
|
VisualBuilderPostMessageEvents2["HIDE_FOCUS_OVERLAY"] = "hide-focus-overlay";
|
|
58
60
|
VisualBuilderPostMessageEvents2["SHOW_DRAFT_FIELDS"] = "show-draft-fields";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/visualBuilder/utils/types/postMessage.types.ts"],"sourcesContent":["export enum VisualBuilderPostMessageEvents {\n INIT = \"init\",\n ADD_INSTANCE = \"add-instance\",\n UPDATE_FIELD = \"update-field\",\n SYNC_FIELD = \"sync-field\",\n OPEN_ASSET_MODAL = \"open-asset-modal\",\n OPEN_REFERENCE_MODAL = \"open-reference-modal\",\n OPEN_QUICK_FORM = \"open-quick-form\",\n TOGGLE_FORM = \"toggle-quick-form\",\n GET_FIELD_SCHEMA = \"get-field-schema\",\n GET_FIELD_DATA = \"get-field-data\",\n GET_FIELD_PATH_WITH_UID = \"get-field-path-with-uid\",\n GET_FIELD_DISPLAY_NAMES = \"get-field-display-names\",\n MOUSE_CLICK = \"mouse-click\",\n FOCUS_FIELD = \"focus-field\",\n OPEN_FIELD_EDIT_MODAL = \"open-field-edit-modal\",\n DELETE_INSTANCE = \"delete-instance\",\n MOVE_INSTANCE = \"move-instance\",\n GET_DISCUSSION_ID = \"get-discussion-id-for-comment-modal\",\n OPEN_FIELD_COMMENT_MODAL = \"open-field-comment-modal\",\n COLLAB_CREATE_THREAD = \"collab-create-thread\",\n COLLAB_CREATE_COMMENT = \"collab-create-comment\",\n COLLAB_FETCH_COMMENTS = \"collab-fetch-comments\",\n COLLAB_EDIT_COMMENT = \"collab-edit-comment\",\n COLLAB_DELETE_COMMENT = \"collab-delete-comment\",\n COLLAB_RESOLVE_THREAD = \"collab-resolve-thread\",\n COLLAB_DELETE_THREAD = \"collab-delete-thread\",\n COLLAB_MISSING_THREADS = \"collab-missing-threads\",\n FIELD_LOCATION_DATA = \"field-location-data\",\n FIELD_LOCATION_SELECTED_APP = \"field-location-selected-app\",\n\n // FROM visual builder\n GET_ALL_ENTRIES_IN_CURRENT_PAGE = \"get-entries-in-current-page\",\n HIDE_FOCUS_OVERLAY = \"hide-focus-overlay\",\n SHOW_DRAFT_FIELDS = \"show-draft-fields\",\n REMOVE_DRAFT_FIELDS = \"remove-draft-fields\",\n SHOW_VARIANT_FIELDS = \"show-variant-fields\",\n REMOVE_VARIANT_FIELDS = \"remove-variant-fields\",\n SET_AUDIENCE_MODE = \"set-audience-mode\",\n UPDATE_DISCUSSION_ID = \"update-discussion-id-for-focus-field\",\n SCROLL_TO_FIELD = \"scroll-to-view-field-by-cslp-value\",\n HIGHLIGHT_ACTIVE_COMMENTS = \"highlight-active-comments-by-data-cs\",\n REMOVE_HIGHLIGHTED_COMMENTS = \"remove-highlighted-comments\",\n GET_VARIANT_ID = \"get-variant-id\",\n GET_LOCALE = \"get-locale\",\n SEND_VARIANT_AND_LOCALE = \"send-variant-and-locale\",\n GET_CONTENT_TYPE_NAME = \"get-content-type-name\",\n REFERENCE_MAP = \"get-reference-map\",\n COLLAB_ENABLE = \"collab-enable\",\n COLLAB_DATA_UPDATE = \"collab-data-update\",\n COLLAB_DISABLE = \"collab-disable\",\n COLLAB_THREADS_REMOVE = \"collab-threads-remove\",\n COLLAB_THREAD_REOPEN = \"collab-thread-reopen\",\n COLLAB_THREAD_HIGHLIGHT = \"collab-thread-highlight\",\n TOGGLE_SCROLL = \"toggle-scroll\",\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAK,iCAAL,kBAAKA,oCAAL;AACH,EAAAA,gCAAA,UAAO;AACP,EAAAA,gCAAA,kBAAe;AACf,EAAAA,gCAAA,kBAAe;AACf,EAAAA,gCAAA,gBAAa;AACb,EAAAA,gCAAA,sBAAmB;AACnB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,sBAAmB;AACnB,EAAAA,gCAAA,oBAAiB;AACjB,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,mBAAgB;AAChB,EAAAA,gCAAA,uBAAoB;AACpB,EAAAA,gCAAA,8BAA2B;AAC3B,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,4BAAyB;AACzB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,iCAA8B;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/visualBuilder/utils/types/postMessage.types.ts"],"sourcesContent":["export enum VisualBuilderPostMessageEvents {\n INIT = \"init\",\n ADD_INSTANCE = \"add-instance\",\n UPDATE_FIELD = \"update-field\",\n SYNC_FIELD = \"sync-field\",\n OPEN_ASSET_MODAL = \"open-asset-modal\",\n OPEN_REFERENCE_MODAL = \"open-reference-modal\",\n OPEN_QUICK_FORM = \"open-quick-form\",\n TOGGLE_FORM = \"toggle-quick-form\",\n GET_FIELD_SCHEMA = \"get-field-schema\",\n GET_FIELD_DATA = \"get-field-data\",\n GET_FIELD_PATH_WITH_UID = \"get-field-path-with-uid\",\n GET_FIELD_DISPLAY_NAMES = \"get-field-display-names\",\n MOUSE_CLICK = \"mouse-click\",\n FOCUS_FIELD = \"focus-field\",\n OPEN_FIELD_EDIT_MODAL = \"open-field-edit-modal\",\n DELETE_INSTANCE = \"delete-instance\",\n MOVE_INSTANCE = \"move-instance\",\n GET_DISCUSSION_ID = \"get-discussion-id-for-comment-modal\",\n OPEN_FIELD_COMMENT_MODAL = \"open-field-comment-modal\",\n COLLAB_CREATE_THREAD = \"collab-create-thread\",\n COLLAB_CREATE_COMMENT = \"collab-create-comment\",\n COLLAB_FETCH_COMMENTS = \"collab-fetch-comments\",\n COLLAB_EDIT_COMMENT = \"collab-edit-comment\",\n COLLAB_DELETE_COMMENT = \"collab-delete-comment\",\n COLLAB_RESOLVE_THREAD = \"collab-resolve-thread\",\n COLLAB_DELETE_THREAD = \"collab-delete-thread\",\n COLLAB_MISSING_THREADS = \"collab-missing-threads\",\n FIELD_LOCATION_DATA = \"field-location-data\",\n FIELD_LOCATION_SELECTED_APP = \"field-location-selected-app\",\n GET_PERMISSIONS = \"get-permissions\",\n GET_WORKFLOW_STAGE_DETAILS = \"get-workflow-stage-details\",\n\n // FROM visual builder\n GET_ALL_ENTRIES_IN_CURRENT_PAGE = \"get-entries-in-current-page\",\n HIDE_FOCUS_OVERLAY = \"hide-focus-overlay\",\n SHOW_DRAFT_FIELDS = \"show-draft-fields\",\n REMOVE_DRAFT_FIELDS = \"remove-draft-fields\",\n SHOW_VARIANT_FIELDS = \"show-variant-fields\",\n REMOVE_VARIANT_FIELDS = \"remove-variant-fields\",\n SET_AUDIENCE_MODE = \"set-audience-mode\",\n UPDATE_DISCUSSION_ID = \"update-discussion-id-for-focus-field\",\n SCROLL_TO_FIELD = \"scroll-to-view-field-by-cslp-value\",\n HIGHLIGHT_ACTIVE_COMMENTS = \"highlight-active-comments-by-data-cs\",\n REMOVE_HIGHLIGHTED_COMMENTS = \"remove-highlighted-comments\",\n GET_VARIANT_ID = \"get-variant-id\",\n GET_LOCALE = \"get-locale\",\n SEND_VARIANT_AND_LOCALE = \"send-variant-and-locale\",\n GET_CONTENT_TYPE_NAME = \"get-content-type-name\",\n REFERENCE_MAP = \"get-reference-map\",\n COLLAB_ENABLE = \"collab-enable\",\n COLLAB_DATA_UPDATE = \"collab-data-update\",\n COLLAB_DISABLE = \"collab-disable\",\n COLLAB_THREADS_REMOVE = \"collab-threads-remove\",\n COLLAB_THREAD_REOPEN = \"collab-thread-reopen\",\n COLLAB_THREAD_HIGHLIGHT = \"collab-thread-highlight\",\n TOGGLE_SCROLL = \"toggle-scroll\",\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAK,iCAAL,kBAAKA,oCAAL;AACH,EAAAA,gCAAA,UAAO;AACP,EAAAA,gCAAA,kBAAe;AACf,EAAAA,gCAAA,kBAAe;AACf,EAAAA,gCAAA,gBAAa;AACb,EAAAA,gCAAA,sBAAmB;AACnB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,sBAAmB;AACnB,EAAAA,gCAAA,oBAAiB;AACjB,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,mBAAgB;AAChB,EAAAA,gCAAA,uBAAoB;AACpB,EAAAA,gCAAA,8BAA2B;AAC3B,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,4BAAyB;AACzB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,iCAA8B;AAC9B,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,gCAA6B;AAG7B,EAAAA,gCAAA,qCAAkC;AAClC,EAAAA,gCAAA,wBAAqB;AACrB,EAAAA,gCAAA,uBAAoB;AACpB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,uBAAoB;AACpB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,+BAA4B;AAC5B,EAAAA,gCAAA,iCAA8B;AAC9B,EAAAA,gCAAA,oBAAiB;AACjB,EAAAA,gCAAA,gBAAa;AACb,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,mBAAgB;AAChB,EAAAA,gCAAA,mBAAgB;AAChB,EAAAA,gCAAA,wBAAqB;AACrB,EAAAA,gCAAA,oBAAiB;AACjB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,mBAAgB;AAxDR,SAAAA;AAAA,GAAA;","names":["VisualBuilderPostMessageEvents"]}
|
|
@@ -28,6 +28,8 @@ declare enum VisualBuilderPostMessageEvents {
|
|
|
28
28
|
COLLAB_MISSING_THREADS = "collab-missing-threads",
|
|
29
29
|
FIELD_LOCATION_DATA = "field-location-data",
|
|
30
30
|
FIELD_LOCATION_SELECTED_APP = "field-location-selected-app",
|
|
31
|
+
GET_PERMISSIONS = "get-permissions",
|
|
32
|
+
GET_WORKFLOW_STAGE_DETAILS = "get-workflow-stage-details",
|
|
31
33
|
GET_ALL_ENTRIES_IN_CURRENT_PAGE = "get-entries-in-current-page",
|
|
32
34
|
HIDE_FOCUS_OVERLAY = "hide-focus-overlay",
|
|
33
35
|
SHOW_DRAFT_FIELDS = "show-draft-fields",
|
|
@@ -28,6 +28,8 @@ declare enum VisualBuilderPostMessageEvents {
|
|
|
28
28
|
COLLAB_MISSING_THREADS = "collab-missing-threads",
|
|
29
29
|
FIELD_LOCATION_DATA = "field-location-data",
|
|
30
30
|
FIELD_LOCATION_SELECTED_APP = "field-location-selected-app",
|
|
31
|
+
GET_PERMISSIONS = "get-permissions",
|
|
32
|
+
GET_WORKFLOW_STAGE_DETAILS = "get-workflow-stage-details",
|
|
31
33
|
GET_ALL_ENTRIES_IN_CURRENT_PAGE = "get-entries-in-current-page",
|
|
32
34
|
HIDE_FOCUS_OVERLAY = "hide-focus-overlay",
|
|
33
35
|
SHOW_DRAFT_FIELDS = "show-draft-fields",
|
|
@@ -31,6 +31,8 @@ var VisualBuilderPostMessageEvents = /* @__PURE__ */ ((VisualBuilderPostMessageE
|
|
|
31
31
|
VisualBuilderPostMessageEvents2["COLLAB_MISSING_THREADS"] = "collab-missing-threads";
|
|
32
32
|
VisualBuilderPostMessageEvents2["FIELD_LOCATION_DATA"] = "field-location-data";
|
|
33
33
|
VisualBuilderPostMessageEvents2["FIELD_LOCATION_SELECTED_APP"] = "field-location-selected-app";
|
|
34
|
+
VisualBuilderPostMessageEvents2["GET_PERMISSIONS"] = "get-permissions";
|
|
35
|
+
VisualBuilderPostMessageEvents2["GET_WORKFLOW_STAGE_DETAILS"] = "get-workflow-stage-details";
|
|
34
36
|
VisualBuilderPostMessageEvents2["GET_ALL_ENTRIES_IN_CURRENT_PAGE"] = "get-entries-in-current-page";
|
|
35
37
|
VisualBuilderPostMessageEvents2["HIDE_FOCUS_OVERLAY"] = "hide-focus-overlay";
|
|
36
38
|
VisualBuilderPostMessageEvents2["SHOW_DRAFT_FIELDS"] = "show-draft-fields";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/visualBuilder/utils/types/postMessage.types.ts"],"sourcesContent":["export enum VisualBuilderPostMessageEvents {\n INIT = \"init\",\n ADD_INSTANCE = \"add-instance\",\n UPDATE_FIELD = \"update-field\",\n SYNC_FIELD = \"sync-field\",\n OPEN_ASSET_MODAL = \"open-asset-modal\",\n OPEN_REFERENCE_MODAL = \"open-reference-modal\",\n OPEN_QUICK_FORM = \"open-quick-form\",\n TOGGLE_FORM = \"toggle-quick-form\",\n GET_FIELD_SCHEMA = \"get-field-schema\",\n GET_FIELD_DATA = \"get-field-data\",\n GET_FIELD_PATH_WITH_UID = \"get-field-path-with-uid\",\n GET_FIELD_DISPLAY_NAMES = \"get-field-display-names\",\n MOUSE_CLICK = \"mouse-click\",\n FOCUS_FIELD = \"focus-field\",\n OPEN_FIELD_EDIT_MODAL = \"open-field-edit-modal\",\n DELETE_INSTANCE = \"delete-instance\",\n MOVE_INSTANCE = \"move-instance\",\n GET_DISCUSSION_ID = \"get-discussion-id-for-comment-modal\",\n OPEN_FIELD_COMMENT_MODAL = \"open-field-comment-modal\",\n COLLAB_CREATE_THREAD = \"collab-create-thread\",\n COLLAB_CREATE_COMMENT = \"collab-create-comment\",\n COLLAB_FETCH_COMMENTS = \"collab-fetch-comments\",\n COLLAB_EDIT_COMMENT = \"collab-edit-comment\",\n COLLAB_DELETE_COMMENT = \"collab-delete-comment\",\n COLLAB_RESOLVE_THREAD = \"collab-resolve-thread\",\n COLLAB_DELETE_THREAD = \"collab-delete-thread\",\n COLLAB_MISSING_THREADS = \"collab-missing-threads\",\n FIELD_LOCATION_DATA = \"field-location-data\",\n FIELD_LOCATION_SELECTED_APP = \"field-location-selected-app\",\n\n // FROM visual builder\n GET_ALL_ENTRIES_IN_CURRENT_PAGE = \"get-entries-in-current-page\",\n HIDE_FOCUS_OVERLAY = \"hide-focus-overlay\",\n SHOW_DRAFT_FIELDS = \"show-draft-fields\",\n REMOVE_DRAFT_FIELDS = \"remove-draft-fields\",\n SHOW_VARIANT_FIELDS = \"show-variant-fields\",\n REMOVE_VARIANT_FIELDS = \"remove-variant-fields\",\n SET_AUDIENCE_MODE = \"set-audience-mode\",\n UPDATE_DISCUSSION_ID = \"update-discussion-id-for-focus-field\",\n SCROLL_TO_FIELD = \"scroll-to-view-field-by-cslp-value\",\n HIGHLIGHT_ACTIVE_COMMENTS = \"highlight-active-comments-by-data-cs\",\n REMOVE_HIGHLIGHTED_COMMENTS = \"remove-highlighted-comments\",\n GET_VARIANT_ID = \"get-variant-id\",\n GET_LOCALE = \"get-locale\",\n SEND_VARIANT_AND_LOCALE = \"send-variant-and-locale\",\n GET_CONTENT_TYPE_NAME = \"get-content-type-name\",\n REFERENCE_MAP = \"get-reference-map\",\n COLLAB_ENABLE = \"collab-enable\",\n COLLAB_DATA_UPDATE = \"collab-data-update\",\n COLLAB_DISABLE = \"collab-disable\",\n COLLAB_THREADS_REMOVE = \"collab-threads-remove\",\n COLLAB_THREAD_REOPEN = \"collab-thread-reopen\",\n COLLAB_THREAD_HIGHLIGHT = \"collab-thread-highlight\",\n TOGGLE_SCROLL = \"toggle-scroll\",\n}\n"],"mappings":";;;AAAO,IAAK,iCAAL,kBAAKA,oCAAL;AACH,EAAAA,gCAAA,UAAO;AACP,EAAAA,gCAAA,kBAAe;AACf,EAAAA,gCAAA,kBAAe;AACf,EAAAA,gCAAA,gBAAa;AACb,EAAAA,gCAAA,sBAAmB;AACnB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,sBAAmB;AACnB,EAAAA,gCAAA,oBAAiB;AACjB,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,mBAAgB;AAChB,EAAAA,gCAAA,uBAAoB;AACpB,EAAAA,gCAAA,8BAA2B;AAC3B,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,4BAAyB;AACzB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,iCAA8B;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/visualBuilder/utils/types/postMessage.types.ts"],"sourcesContent":["export enum VisualBuilderPostMessageEvents {\n INIT = \"init\",\n ADD_INSTANCE = \"add-instance\",\n UPDATE_FIELD = \"update-field\",\n SYNC_FIELD = \"sync-field\",\n OPEN_ASSET_MODAL = \"open-asset-modal\",\n OPEN_REFERENCE_MODAL = \"open-reference-modal\",\n OPEN_QUICK_FORM = \"open-quick-form\",\n TOGGLE_FORM = \"toggle-quick-form\",\n GET_FIELD_SCHEMA = \"get-field-schema\",\n GET_FIELD_DATA = \"get-field-data\",\n GET_FIELD_PATH_WITH_UID = \"get-field-path-with-uid\",\n GET_FIELD_DISPLAY_NAMES = \"get-field-display-names\",\n MOUSE_CLICK = \"mouse-click\",\n FOCUS_FIELD = \"focus-field\",\n OPEN_FIELD_EDIT_MODAL = \"open-field-edit-modal\",\n DELETE_INSTANCE = \"delete-instance\",\n MOVE_INSTANCE = \"move-instance\",\n GET_DISCUSSION_ID = \"get-discussion-id-for-comment-modal\",\n OPEN_FIELD_COMMENT_MODAL = \"open-field-comment-modal\",\n COLLAB_CREATE_THREAD = \"collab-create-thread\",\n COLLAB_CREATE_COMMENT = \"collab-create-comment\",\n COLLAB_FETCH_COMMENTS = \"collab-fetch-comments\",\n COLLAB_EDIT_COMMENT = \"collab-edit-comment\",\n COLLAB_DELETE_COMMENT = \"collab-delete-comment\",\n COLLAB_RESOLVE_THREAD = \"collab-resolve-thread\",\n COLLAB_DELETE_THREAD = \"collab-delete-thread\",\n COLLAB_MISSING_THREADS = \"collab-missing-threads\",\n FIELD_LOCATION_DATA = \"field-location-data\",\n FIELD_LOCATION_SELECTED_APP = \"field-location-selected-app\",\n GET_PERMISSIONS = \"get-permissions\",\n GET_WORKFLOW_STAGE_DETAILS = \"get-workflow-stage-details\",\n\n // FROM visual builder\n GET_ALL_ENTRIES_IN_CURRENT_PAGE = \"get-entries-in-current-page\",\n HIDE_FOCUS_OVERLAY = \"hide-focus-overlay\",\n SHOW_DRAFT_FIELDS = \"show-draft-fields\",\n REMOVE_DRAFT_FIELDS = \"remove-draft-fields\",\n SHOW_VARIANT_FIELDS = \"show-variant-fields\",\n REMOVE_VARIANT_FIELDS = \"remove-variant-fields\",\n SET_AUDIENCE_MODE = \"set-audience-mode\",\n UPDATE_DISCUSSION_ID = \"update-discussion-id-for-focus-field\",\n SCROLL_TO_FIELD = \"scroll-to-view-field-by-cslp-value\",\n HIGHLIGHT_ACTIVE_COMMENTS = \"highlight-active-comments-by-data-cs\",\n REMOVE_HIGHLIGHTED_COMMENTS = \"remove-highlighted-comments\",\n GET_VARIANT_ID = \"get-variant-id\",\n GET_LOCALE = \"get-locale\",\n SEND_VARIANT_AND_LOCALE = \"send-variant-and-locale\",\n GET_CONTENT_TYPE_NAME = \"get-content-type-name\",\n REFERENCE_MAP = \"get-reference-map\",\n COLLAB_ENABLE = \"collab-enable\",\n COLLAB_DATA_UPDATE = \"collab-data-update\",\n COLLAB_DISABLE = \"collab-disable\",\n COLLAB_THREADS_REMOVE = \"collab-threads-remove\",\n COLLAB_THREAD_REOPEN = \"collab-thread-reopen\",\n COLLAB_THREAD_HIGHLIGHT = \"collab-thread-highlight\",\n TOGGLE_SCROLL = \"toggle-scroll\",\n}\n"],"mappings":";;;AAAO,IAAK,iCAAL,kBAAKA,oCAAL;AACH,EAAAA,gCAAA,UAAO;AACP,EAAAA,gCAAA,kBAAe;AACf,EAAAA,gCAAA,kBAAe;AACf,EAAAA,gCAAA,gBAAa;AACb,EAAAA,gCAAA,sBAAmB;AACnB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,sBAAmB;AACnB,EAAAA,gCAAA,oBAAiB;AACjB,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,iBAAc;AACd,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,mBAAgB;AAChB,EAAAA,gCAAA,uBAAoB;AACpB,EAAAA,gCAAA,8BAA2B;AAC3B,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,4BAAyB;AACzB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,iCAA8B;AAC9B,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,gCAA6B;AAG7B,EAAAA,gCAAA,qCAAkC;AAClC,EAAAA,gCAAA,wBAAqB;AACrB,EAAAA,gCAAA,uBAAoB;AACpB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,yBAAsB;AACtB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,uBAAoB;AACpB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,qBAAkB;AAClB,EAAAA,gCAAA,+BAA4B;AAC5B,EAAAA,gCAAA,iCAA8B;AAC9B,EAAAA,gCAAA,oBAAiB;AACjB,EAAAA,gCAAA,gBAAa;AACb,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,mBAAgB;AAChB,EAAAA,gCAAA,mBAAgB;AAChB,EAAAA,gCAAA,wBAAqB;AACrB,EAAAA,gCAAA,oBAAiB;AACjB,EAAAA,gCAAA,2BAAwB;AACxB,EAAAA,gCAAA,0BAAuB;AACvB,EAAAA,gCAAA,6BAA0B;AAC1B,EAAAA,gCAAA,mBAAgB;AAxDR,SAAAA;AAAA,GAAA;","names":["VisualBuilderPostMessageEvents"]}
|
|
@@ -39,12 +39,12 @@ var import_cslp = require("../../cslp/index.cjs");
|
|
|
39
39
|
var import_generateAddInstanceButtons = require("../generators/generateAddInstanceButtons.cjs");
|
|
40
40
|
var import_generateOverlay = require("../generators/generateOverlay.cjs");
|
|
41
41
|
var import_mouseHover = require("../listeners/mouseHover.cjs");
|
|
42
|
-
var import_getEntryPermissionsCached = require("./getEntryPermissionsCached.cjs");
|
|
43
42
|
var import_constants = require("./constants.cjs");
|
|
44
43
|
var import_fieldSchemaMap = require("./fieldSchemaMap.cjs");
|
|
45
44
|
var import_getChildrenDirection = __toESM(require("./getChildrenDirection.cjs"), 1);
|
|
46
45
|
var import_getPsuedoEditableStylesElement = require("./getPsuedoEditableStylesElement.cjs");
|
|
47
46
|
var import_isFieldDisabled = require("./isFieldDisabled.cjs");
|
|
47
|
+
var import_fetchEntryPermissionsAndStageDetails = require("./fetchEntryPermissionsAndStageDetails.cjs");
|
|
48
48
|
function positionToolbar({
|
|
49
49
|
focusedToolbar,
|
|
50
50
|
selectedElementDimension
|
|
@@ -108,15 +108,17 @@ async function updateFocussedState({
|
|
|
108
108
|
fieldMetadata.content_type_uid,
|
|
109
109
|
fieldMetadata.fieldPath
|
|
110
110
|
);
|
|
111
|
-
const entryAcl = await (0,
|
|
111
|
+
const { acl: entryAcl, workflowStage: entryWorkflowStageDetails } = await (0, import_fetchEntryPermissionsAndStageDetails.fetchEntryPermissionsAndStageDetails)({
|
|
112
112
|
entryUid: fieldMetadata.entry_uid,
|
|
113
113
|
contentTypeUid: fieldMetadata.content_type_uid,
|
|
114
|
-
locale: fieldMetadata.locale
|
|
114
|
+
locale: fieldMetadata.locale,
|
|
115
|
+
variantUid: fieldMetadata.variant
|
|
115
116
|
});
|
|
116
117
|
const { isDisabled } = (0, import_isFieldDisabled.isFieldDisabled)(
|
|
117
118
|
fieldSchema,
|
|
118
119
|
{ editableElement, fieldMetadata },
|
|
119
|
-
entryAcl
|
|
120
|
+
entryAcl,
|
|
121
|
+
entryWorkflowStageDetails
|
|
120
122
|
);
|
|
121
123
|
(0, import_generateOverlay.addFocusOverlay)(previousSelectedEditableDOM, overlayWrapper, isDisabled);
|
|
122
124
|
const psuedoEditableElement = visualBuilderContainer.querySelector(
|