@designcrowd/library.brand-page 5.18.3-undo-40 → 5.18.3
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/lib/src/{CreatedOnBrandCrowd-de-de-D_w411MF.js → CreatedOnBrandCrowd-de-de-CkuAAwKQ.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-DvJhv23Q.js → CreatedOnBrandCrowd-en-us-Coln5kSU.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-BvW6EBKl.js → CreatedOnBrandCrowd-es-es-raGyXChm.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-Bc4iL236.js → CreatedOnBrandCrowd-fr-ca-BT_WYYxW.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-Bc4iL236.js → CreatedOnBrandCrowd-fr-fr-BT_WYYxW.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-C74D9eIB.js → CreatedOnBrandCrowd-pt-br-BRbD_kiI.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-C74D9eIB.js → CreatedOnBrandCrowd-pt-pt-BRbD_kiI.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-BVL3vDSq.js → CreatedOnDcom-de-de-DetCIFxa.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-B9Dow5pk.js → CreatedOnDcom-en-us-D0LeF_V2.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-H2Dv6N8F.js → CreatedOnDcom-es-es-CHa4stWS.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-sw4LRlLw.js → CreatedOnDcom-fr-ca-ntW7A335.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-DnOriI4M.js → CreatedOnDcom-fr-fr-C6rQcclc.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-BXs8zbRg.js → CreatedOnDcom-pt-br-Cn07ZK_m.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-DmfOvW_0.js → CreatedOnDcom-pt-pt-CewmqYVY.js} +1 -1
- package/lib/src/brand-page-maker/components/action-bar/ActionBar.mixin.d.ts +2 -7
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +2 -7
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +0 -8
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.d.ts +2 -7
- package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +0 -1
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +2 -87
- package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js +0 -5
- package/lib/src/brand-page-maker/components/brandpage-settings/ReplaceImageSettingsForBrandPageSettings.mixin.d.ts +2 -7
- package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.d.ts +0 -3
- package/lib/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.js +0 -11
- package/lib/src/brand-page-maker/components/seo-settings/SeoPageSettings.mixin.d.ts +2 -7
- package/lib/src/brand-page-maker/components/seo-settings/UrlSettings.mixin.d.ts +2 -7
- package/lib/src/brand-page-maker/components/social-share/SocialShare.mixin.d.ts +2 -7
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.d.ts +2 -7
- package/lib/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.js +0 -9
- package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +1 -20
- package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +0 -20
- package/lib/src/brand-page-maker/composables/useEventTracker.js +0 -17
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.d.ts +2 -41
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +5 -307
- package/lib/src/brand-page-maker/stores/logo-store/logo-store.d.ts +0 -1
- package/lib/src/brand-page-maker/stores/user/user-store.js +0 -1
- package/lib/src/bundled-translations-B5Fkt3qd.js +175 -0
- package/lib/src/bundles/bundled-translations.json +1 -3
- package/lib/src/constants/ui.d.ts +0 -1
- package/lib/src/css/library.brand-page-brandCrowd.min.css +15 -20
- package/lib/src/css/library.brand-page-brandPage.min.css +16 -20
- package/lib/src/css/library.brand-page-designCom.min.css +15 -20
- package/lib/src/css/library.brand-page-preview.min.css +15 -20
- package/lib/src/index.mjs +1 -1
- package/lib/src/{lib-Dg2Zs9nH.js → lib-CGfmcIBb.js} +29373 -29970
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +2 -87
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +0 -5
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.stories.js +0 -1
- package/lib/src/shared/content-settings/components/content-settings/ReplaceImageSettingsForContent.mixin.d.ts +2 -23
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +0 -16
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +2 -7
- package/lib/src/shared/content-settings/components/draggable-item-list/DraggableItemList.mixin.d.ts +0 -3
- package/lib/src/shared/content-settings/components/draggable-item-list/DraggableItemList.mixin.js +2 -19
- package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.js +8 -18
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +0 -64
- package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.js +0 -6
- package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +0 -19
- package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +0 -11
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +2 -10
- package/lib/src/shared/logo-settings/store/editable-logo-store.d.ts +1 -5
- package/lib/src/shared/logo-settings/store/editable-logo-store.js +0 -31
- package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +2 -24
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +2 -10
- package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +2 -23
- package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +0 -16
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +2 -23
- package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +0 -16
- package/package.json +1 -1
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +0 -9
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +3 -2
- package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +0 -1
- package/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.ts +0 -5
- package/src/brand-page-maker/components/cookie-collection/CookieSettings.vue +17 -18
- package/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.mixin.ts +0 -13
- package/src/brand-page-maker/components/quick-link-bar/QuickLinkBar.vue +3 -26
- package/src/brand-page-maker/components/quick-link-bar/i18n/quick-link-bar.json +1 -3
- package/src/brand-page-maker/components/save-contact/SaveContact.vue +19 -12
- package/src/brand-page-maker/composables/ai-chat/useAiWebsiteBuilderChat.ts +0 -10
- package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +1 -24
- package/src/brand-page-maker/composables/useEventTracker.ts +0 -29
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.test.ts +0 -335
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +4 -371
- package/src/brand-page-maker/stores/logo-store/logo-store.ts +0 -5
- package/src/brand-page-maker/stores/user/user-store.ts +0 -1
- package/src/bundles/bundled-translations.json +1 -3
- package/src/constants/ui.ts +0 -1
- package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +0 -5
- package/src/shared/content-settings/components/content-settings/ContentSettings.stories.ts +0 -1
- package/src/shared/content-settings/components/draggable-item-list/DraggableItemList.mixin.ts +2 -19
- package/src/shared/content-settings/components/draggable-item-list/DraggableItemList.vue +1 -1
- package/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.ts +10 -26
- package/src/shared/content-settings/components/logo-selection-field/LogoSelection.vue +48 -63
- package/src/shared/content-settings/components/page-dropdown-field/PageDropdownField.vue +0 -4
- package/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.ts +0 -7
- package/src/shared/content-settings/components/text-field/TextField.vue +0 -1
- package/src/shared/content-settings/components/text-image-field/TextImageField.vue +4 -33
- package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +0 -11
- package/src/shared/logo-settings/store/editable-logo-store.ts +1 -42
- package/lib/src/brand-page-maker/composables/useUndoRedoFlag.d.ts +0 -17
- package/lib/src/brand-page-maker/composables/useUndoRedoFlag.js +0 -25
- package/lib/src/brand-page-maker/stores/history/history-store.d.ts +0 -83
- package/lib/src/brand-page-maker/stores/history/history-store.js +0 -495
- package/lib/src/bundled-translations-D1q3rSEz.js +0 -175
- package/lib/src/metadata-builder/builders/reorder-pages-builder.d.ts +0 -13
- package/lib/src/metadata-builder/builders/reorder-pages-builder.js +0 -49
- package/src/brand-page-maker/components/quick-link-bar/RedoButton.vue +0 -66
- package/src/brand-page-maker/components/quick-link-bar/UndoButton.vue +0 -66
- package/src/brand-page-maker/components/quick-link-bar/undo-redo-buttons.test.ts +0 -116
- package/src/brand-page-maker/composables/useUndoRedoFlag.ts +0 -30
- package/src/brand-page-maker/stores/history/history-store.test.ts +0 -1120
- package/src/brand-page-maker/stores/history/history-store.ts +0 -660
- package/src/metadata-builder/builders/reorder-pages-builder.ts +0 -80
|
@@ -107,21 +107,16 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
107
107
|
hideChangeTemplateConfirmModal(): void;
|
|
108
108
|
onBackgroundChanged(): void;
|
|
109
109
|
onChangeTemplateConfirmModalCancel(): void;
|
|
110
|
-
onChangeTemplateConfirmModalConfirm():
|
|
110
|
+
onChangeTemplateConfirmModalConfirm(): void;
|
|
111
111
|
onContentChanged(): void;
|
|
112
112
|
onStyleChanged(): void;
|
|
113
|
-
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload):
|
|
113
|
+
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
|
|
114
114
|
setSelectedTabName(payload: any): void;
|
|
115
115
|
showNextNotificationMessage(): Promise<void>;
|
|
116
116
|
updateContent<TContent extends import("@brand-page/models").Content, P extends {
|
|
117
117
|
id: string;
|
|
118
118
|
content: TContent;
|
|
119
119
|
}>(payload: P): Promise<void>;
|
|
120
|
-
_captureTemplateSwitchIfEnabled(): void;
|
|
121
|
-
applyHistorySnapshot(snapshot: import("@brand-page/models").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
|
|
122
|
-
_syncLogoSettingsFromSnapshot(snapshot: import("@brand-page/models").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
|
|
123
|
-
_navigateToActivePage(activePageId?: string | undefined): void;
|
|
124
|
-
_fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page/models").BrandPageModel): void;
|
|
125
120
|
export(): import("@brand-page/models").BrandPageModel;
|
|
126
121
|
setBrandPageType({ brandPageType }: {
|
|
127
122
|
brandPageType: "default" | "brandSite" | "brandContact";
|
|
@@ -152,21 +152,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
152
152
|
hideChangeTemplateConfirmModal(): void;
|
|
153
153
|
onBackgroundChanged(): void;
|
|
154
154
|
onChangeTemplateConfirmModalCancel(): void;
|
|
155
|
-
onChangeTemplateConfirmModalConfirm():
|
|
155
|
+
onChangeTemplateConfirmModalConfirm(): void;
|
|
156
156
|
onContentChanged(): void;
|
|
157
157
|
onStyleChanged(): void;
|
|
158
|
-
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload):
|
|
158
|
+
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
|
|
159
159
|
setSelectedTabName(payload: any): void;
|
|
160
160
|
showNextNotificationMessage(): Promise<void>;
|
|
161
161
|
updateContent<TContent extends import("@brand-page").Content, P extends {
|
|
162
162
|
id: string;
|
|
163
163
|
content: TContent;
|
|
164
164
|
}>(payload: P): Promise<void>;
|
|
165
|
-
_captureTemplateSwitchIfEnabled(): void;
|
|
166
|
-
applyHistorySnapshot(snapshot: import("@brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
|
|
167
|
-
_syncLogoSettingsFromSnapshot(snapshot: import("@brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
|
|
168
|
-
_navigateToActivePage(activePageId?: string | undefined): void;
|
|
169
|
-
_fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page").BrandPageModel): void;
|
|
170
165
|
export(): import("@brand-page").BrandPageModel;
|
|
171
166
|
setBrandPageType({ brandPageType }: {
|
|
172
167
|
brandPageType: "default" | "brandSite" | "brandContact";
|
|
@@ -11,8 +11,6 @@ import { navigateToPageByPageId } from '../../routing';
|
|
|
11
11
|
import { useBrandPageContainerStore } from '@brand-page-maker/stores';
|
|
12
12
|
import { UI_DEVICE_MODES, UI_SCREENSIZE_MODES, } from '@shared/models';
|
|
13
13
|
import { useBrandPageMakerStore, useBrandPageMakerUserStore, useLocalisedRouteStore, useUiStore, useSnapshotStore, useVideoStore, } from '@brand-page-maker/stores';
|
|
14
|
-
import { useHistoryStore } from '@brand-page-maker/stores/history/history-store';
|
|
15
|
-
import { useUndoRedoFlag } from '@brand-page-maker/composables/useUndoRedoFlag';
|
|
16
14
|
import { useUiContentSettingsStore } from '@shared/content-settings/store';
|
|
17
15
|
import { useUiTemplateSettingsStore } from '@shared/template-settings/store';
|
|
18
16
|
import { useUiPageSettingsStore } from '@shared/page-settings/store';
|
|
@@ -191,12 +189,6 @@ export default defineComponent({
|
|
|
191
189
|
}
|
|
192
190
|
// Mark brand page as fully loaded
|
|
193
191
|
this.brandPageMakerStore.setIsBrandPageLoaded(true);
|
|
194
|
-
// Capture baseline for undo/redo when the feature is active for this
|
|
195
|
-
// session — see useUndoRedoFlag.ts for the gate (LaunchDarkly flag +
|
|
196
|
-
// brand-site + non-admin maker).
|
|
197
|
-
if (useUndoRedoFlag().value) {
|
|
198
|
-
useHistoryStore().captureBaseline();
|
|
199
|
-
}
|
|
200
192
|
this.$emit(EVENTS.Initialised);
|
|
201
193
|
},
|
|
202
194
|
mounted() {
|
|
@@ -96,21 +96,16 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
96
96
|
hideChangeTemplateConfirmModal(): void;
|
|
97
97
|
onBackgroundChanged(): void;
|
|
98
98
|
onChangeTemplateConfirmModalCancel(): void;
|
|
99
|
-
onChangeTemplateConfirmModalConfirm():
|
|
99
|
+
onChangeTemplateConfirmModalConfirm(): void;
|
|
100
100
|
onContentChanged(): void;
|
|
101
101
|
onStyleChanged(): void;
|
|
102
|
-
onTemplateSelected(payload: import("../../stores").OnTemplateSelectedPayload):
|
|
102
|
+
onTemplateSelected(payload: import("../../stores").OnTemplateSelectedPayload): void;
|
|
103
103
|
setSelectedTabName(payload: any): void;
|
|
104
104
|
showNextNotificationMessage(): Promise<void>;
|
|
105
105
|
updateContent<TContent extends import("../../../lib").Content, P extends {
|
|
106
106
|
id: string;
|
|
107
107
|
content: TContent;
|
|
108
108
|
}>(payload: P): Promise<void>;
|
|
109
|
-
_captureTemplateSwitchIfEnabled(): void;
|
|
110
|
-
applyHistorySnapshot(snapshot: import("../../../lib").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
|
|
111
|
-
_syncLogoSettingsFromSnapshot(snapshot: import("../../../lib").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
|
|
112
|
-
_navigateToActivePage(activePageId?: string | undefined): void;
|
|
113
|
-
_fallbackSidebarIfSelectedContentMissing(snapshot: import("../../../lib").BrandPageModel): void;
|
|
114
109
|
export(): import("../../../lib").BrandPageModel;
|
|
115
110
|
setBrandPageType({ brandPageType }: {
|
|
116
111
|
brandPageType: "default" | "brandSite" | "brandContact";
|
package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts
CHANGED
|
@@ -602,21 +602,16 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
602
602
|
hideChangeTemplateConfirmModal(): void;
|
|
603
603
|
onBackgroundChanged(): void;
|
|
604
604
|
onChangeTemplateConfirmModalCancel(): void;
|
|
605
|
-
onChangeTemplateConfirmModalConfirm():
|
|
605
|
+
onChangeTemplateConfirmModalConfirm(): void;
|
|
606
606
|
onContentChanged(): void;
|
|
607
607
|
onStyleChanged(): void;
|
|
608
|
-
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload):
|
|
608
|
+
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
|
|
609
609
|
setSelectedTabName(payload: any): void;
|
|
610
610
|
showNextNotificationMessage(): Promise<void>;
|
|
611
611
|
updateContent<TContent extends Content, P extends {
|
|
612
612
|
id: string;
|
|
613
613
|
content: TContent;
|
|
614
614
|
}>(payload: P): Promise<void>;
|
|
615
|
-
_captureTemplateSwitchIfEnabled(): void;
|
|
616
|
-
applyHistorySnapshot(snapshot: import("@brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
|
|
617
|
-
_syncLogoSettingsFromSnapshot(snapshot: import("@brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
|
|
618
|
-
_navigateToActivePage(activePageId?: string | undefined): void;
|
|
619
|
-
_fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page").BrandPageModel): void;
|
|
620
615
|
export(): import("@brand-page").BrandPageModel;
|
|
621
616
|
setBrandPageType({ brandPageType }: {
|
|
622
617
|
brandPageType: "default" | "brandSite" | "brandContact";
|
|
@@ -1051,22 +1046,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
1051
1046
|
}>;
|
|
1052
1047
|
eventTracker: {
|
|
1053
1048
|
sendShippingToggleEvent: (isEnabled: boolean) => void;
|
|
1054
|
-
sendUndoEvent: (props: {
|
|
1055
|
-
entries_count: number;
|
|
1056
|
-
actor: string | undefined;
|
|
1057
|
-
}) => void;
|
|
1058
|
-
sendRedoEvent: (props: {
|
|
1059
|
-
entries_count: number;
|
|
1060
|
-
actor: string | undefined;
|
|
1061
|
-
}) => void;
|
|
1062
|
-
sendHistoryCappedEvent: (props: {
|
|
1063
|
-
entries_count: number;
|
|
1064
|
-
size_bytes: number;
|
|
1065
|
-
}) => void;
|
|
1066
|
-
sendHistoryOversizedEvent: (props: {
|
|
1067
|
-
attempted_bytes: number;
|
|
1068
|
-
source: string;
|
|
1069
|
-
}) => void;
|
|
1070
1049
|
sendSaveContactEvent: () => void;
|
|
1071
1050
|
sendStartForFreeEvent: () => void;
|
|
1072
1051
|
sendFooterLinkClickEvent: (linkType: "watermark_logo" | "create_your_website") => void;
|
|
@@ -1171,70 +1150,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
1171
1150
|
}): Promise<void>;
|
|
1172
1151
|
toggleLogoBackground(): Promise<any>;
|
|
1173
1152
|
}>;
|
|
1174
|
-
historyStore: import("pinia").Store<"history", Pick<{
|
|
1175
|
-
entries: import("vue").ShallowRef<import("@brand-page-maker/stores/history/history-store").HistoryEntry[], import("@brand-page-maker/stores/history/history-store").HistoryEntry[]>;
|
|
1176
|
-
currentIndex: import("vue").Ref<number, number>;
|
|
1177
|
-
isApplyingSnapshot: import("vue").Ref<boolean, boolean>;
|
|
1178
|
-
baselineCaptured: import("vue").Ref<boolean, boolean>;
|
|
1179
|
-
canUndo: import("vue").ComputedRef<boolean>;
|
|
1180
|
-
canRedo: import("vue").ComputedRef<boolean>;
|
|
1181
|
-
captureBaseline: () => void;
|
|
1182
|
-
capture: (args: {
|
|
1183
|
-
source: "manual_edit" | "template_switch" | "ai_changeset" | "rich_text";
|
|
1184
|
-
actor: "user" | "ai_builder";
|
|
1185
|
-
label?: string | undefined;
|
|
1186
|
-
}) => "committed" | "oversized" | "noop" | "skipped";
|
|
1187
|
-
captureTemplateSwitch: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
|
|
1188
|
-
captureAiChangeset: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
|
|
1189
|
-
mergeNextMutation: () => void;
|
|
1190
|
-
undo: () => Promise<void>;
|
|
1191
|
-
redo: () => Promise<void>;
|
|
1192
|
-
reset: () => void;
|
|
1193
|
-
getCurrentSizeBytes: () => number;
|
|
1194
|
-
getCurrentEntryCount: () => number;
|
|
1195
|
-
}, "entries" | "currentIndex" | "isApplyingSnapshot" | "baselineCaptured">, Pick<{
|
|
1196
|
-
entries: import("vue").ShallowRef<import("@brand-page-maker/stores/history/history-store").HistoryEntry[], import("@brand-page-maker/stores/history/history-store").HistoryEntry[]>;
|
|
1197
|
-
currentIndex: import("vue").Ref<number, number>;
|
|
1198
|
-
isApplyingSnapshot: import("vue").Ref<boolean, boolean>;
|
|
1199
|
-
baselineCaptured: import("vue").Ref<boolean, boolean>;
|
|
1200
|
-
canUndo: import("vue").ComputedRef<boolean>;
|
|
1201
|
-
canRedo: import("vue").ComputedRef<boolean>;
|
|
1202
|
-
captureBaseline: () => void;
|
|
1203
|
-
capture: (args: {
|
|
1204
|
-
source: "manual_edit" | "template_switch" | "ai_changeset" | "rich_text";
|
|
1205
|
-
actor: "user" | "ai_builder";
|
|
1206
|
-
label?: string | undefined;
|
|
1207
|
-
}) => "committed" | "oversized" | "noop" | "skipped";
|
|
1208
|
-
captureTemplateSwitch: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
|
|
1209
|
-
captureAiChangeset: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
|
|
1210
|
-
mergeNextMutation: () => void;
|
|
1211
|
-
undo: () => Promise<void>;
|
|
1212
|
-
redo: () => Promise<void>;
|
|
1213
|
-
reset: () => void;
|
|
1214
|
-
getCurrentSizeBytes: () => number;
|
|
1215
|
-
getCurrentEntryCount: () => number;
|
|
1216
|
-
}, "canUndo" | "canRedo">, Pick<{
|
|
1217
|
-
entries: import("vue").ShallowRef<import("@brand-page-maker/stores/history/history-store").HistoryEntry[], import("@brand-page-maker/stores/history/history-store").HistoryEntry[]>;
|
|
1218
|
-
currentIndex: import("vue").Ref<number, number>;
|
|
1219
|
-
isApplyingSnapshot: import("vue").Ref<boolean, boolean>;
|
|
1220
|
-
baselineCaptured: import("vue").Ref<boolean, boolean>;
|
|
1221
|
-
canUndo: import("vue").ComputedRef<boolean>;
|
|
1222
|
-
canRedo: import("vue").ComputedRef<boolean>;
|
|
1223
|
-
captureBaseline: () => void;
|
|
1224
|
-
capture: (args: {
|
|
1225
|
-
source: "manual_edit" | "template_switch" | "ai_changeset" | "rich_text";
|
|
1226
|
-
actor: "user" | "ai_builder";
|
|
1227
|
-
label?: string | undefined;
|
|
1228
|
-
}) => "committed" | "oversized" | "noop" | "skipped";
|
|
1229
|
-
captureTemplateSwitch: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
|
|
1230
|
-
captureAiChangeset: (label?: string | undefined) => "committed" | "oversized" | "noop" | "skipped";
|
|
1231
|
-
mergeNextMutation: () => void;
|
|
1232
|
-
undo: () => Promise<void>;
|
|
1233
|
-
redo: () => Promise<void>;
|
|
1234
|
-
reset: () => void;
|
|
1235
|
-
getCurrentSizeBytes: () => number;
|
|
1236
|
-
getCurrentEntryCount: () => number;
|
|
1237
|
-
}, "reset" | "undo" | "redo" | "captureBaseline" | "capture" | "captureTemplateSwitch" | "captureAiChangeset" | "mergeNextMutation" | "getCurrentSizeBytes" | "getCurrentEntryCount">>;
|
|
1238
1153
|
}, {
|
|
1239
1154
|
isDraggingContent: boolean;
|
|
1240
1155
|
isContentSelected: boolean;
|
package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.js
CHANGED
|
@@ -15,7 +15,6 @@ import { transformToRTE, RTE_ALLOWED_SECTION_TYPES, } from '@brand-page-maker/ut
|
|
|
15
15
|
import { useExternalRichTextEditor } from '@brand-page-maker/composables/rich-text-editor/useRichTextEditor';
|
|
16
16
|
import { useUiStyleSettingsStore } from '@shared/style-settings/store';
|
|
17
17
|
import { STYLE_THEME_KEYS } from '@brand-page/constants';
|
|
18
|
-
import { useHistoryStore } from '@brand-page-maker/stores/history/history-store';
|
|
19
18
|
export default defineComponent({
|
|
20
19
|
mixins: [PageMixin],
|
|
21
20
|
setup() {
|
|
@@ -30,7 +29,6 @@ export default defineComponent({
|
|
|
30
29
|
const eventTracker = useEventTracker();
|
|
31
30
|
const { externalEditor } = useExternalRichTextEditor();
|
|
32
31
|
const styleSettingsStore = useUiStyleSettingsStore();
|
|
33
|
-
const historyStore = useHistoryStore();
|
|
34
32
|
return {
|
|
35
33
|
items: computed(() => contentSettingsStore.items),
|
|
36
34
|
selectedItemId: computed(() => contentSettingsStore.selectedItemId),
|
|
@@ -53,7 +51,6 @@ export default defineComponent({
|
|
|
53
51
|
eventTracker,
|
|
54
52
|
externalEditor,
|
|
55
53
|
styleSettingsStore,
|
|
56
|
-
historyStore,
|
|
57
54
|
};
|
|
58
55
|
},
|
|
59
56
|
data() {
|
|
@@ -217,8 +214,6 @@ export default defineComponent({
|
|
|
217
214
|
selectedItem = currentItem.settings.content;
|
|
218
215
|
}
|
|
219
216
|
}
|
|
220
|
-
// RTE rewrap on section selection — fold into current head.
|
|
221
|
-
this.historyStore.mergeNextMutation();
|
|
222
217
|
transformToRTE(this.pageSettingsStore, this.externalEditor, this.styleSettingsStore, selectedItem);
|
|
223
218
|
}
|
|
224
219
|
if (this.selectEventDebounceHandler) {
|
|
@@ -102,21 +102,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
102
102
|
hideChangeTemplateConfirmModal(): void;
|
|
103
103
|
onBackgroundChanged(): void;
|
|
104
104
|
onChangeTemplateConfirmModalCancel(): void;
|
|
105
|
-
onChangeTemplateConfirmModalConfirm():
|
|
105
|
+
onChangeTemplateConfirmModalConfirm(): void;
|
|
106
106
|
onContentChanged(): void;
|
|
107
107
|
onStyleChanged(): void;
|
|
108
|
-
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload):
|
|
108
|
+
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
|
|
109
109
|
setSelectedTabName(payload: any): void;
|
|
110
110
|
showNextNotificationMessage(): Promise<void>;
|
|
111
111
|
updateContent<TContent extends import("../../../brand-page").Content, P extends {
|
|
112
112
|
id: string;
|
|
113
113
|
content: TContent;
|
|
114
114
|
}>(payload: P): Promise<void>;
|
|
115
|
-
_captureTemplateSwitchIfEnabled(): void;
|
|
116
|
-
applyHistorySnapshot(snapshot: import("../../../brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
|
|
117
|
-
_syncLogoSettingsFromSnapshot(snapshot: import("../../../brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
|
|
118
|
-
_navigateToActivePage(activePageId?: string | undefined): void;
|
|
119
|
-
_fallbackSidebarIfSelectedContentMissing(snapshot: import("../../../brand-page").BrandPageModel): void;
|
|
120
115
|
export(): import("../../../brand-page").BrandPageModel;
|
|
121
116
|
setBrandPageType({ brandPageType }: {
|
|
122
117
|
brandPageType: "default" | "brandSite" | "brandContact";
|
|
@@ -291,12 +291,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
291
291
|
pushManageWebPageUpdateSensitiveContentClickEvent(): Promise<void>;
|
|
292
292
|
pushManageWebPageUnpublishClickEvent(): Promise<void>;
|
|
293
293
|
}>;
|
|
294
|
-
undoRedoEnabled: import("vue").ComputedRef<boolean>;
|
|
295
294
|
}, {
|
|
296
295
|
copied: boolean;
|
|
297
296
|
}, {
|
|
298
|
-
isPublished(): boolean;
|
|
299
|
-
shouldShowBar(): boolean;
|
|
300
297
|
brandPageUrl(): string;
|
|
301
298
|
copyButtonLabel(): string;
|
|
302
299
|
}, {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { defineComponent } from 'vue';
|
|
2
2
|
import { CUSTOM_DOMAIN_STATUSES } from '@brand-page-maker/constants';
|
|
3
3
|
import { useBrandPageContainerStore, useEventManagerStore, } from '@brand-page-maker/stores';
|
|
4
|
-
import { useUndoRedoFlag } from '@brand-page-maker/composables/useUndoRedoFlag';
|
|
5
4
|
import { quickLinkBarTr } from '@src/composables/useTranslate';
|
|
6
5
|
export default defineComponent({
|
|
7
6
|
props: {
|
|
@@ -18,7 +17,6 @@ export default defineComponent({
|
|
|
18
17
|
return {
|
|
19
18
|
brandPageContainerStore: useBrandPageContainerStore(),
|
|
20
19
|
eventManagerStore: useEventManagerStore(),
|
|
21
|
-
undoRedoEnabled: useUndoRedoFlag(),
|
|
22
20
|
};
|
|
23
21
|
},
|
|
24
22
|
data() {
|
|
@@ -27,15 +25,6 @@ export default defineComponent({
|
|
|
27
25
|
};
|
|
28
26
|
},
|
|
29
27
|
computed: {
|
|
30
|
-
isPublished() {
|
|
31
|
-
return this.brandPageContainerStore.isPublished;
|
|
32
|
-
},
|
|
33
|
-
// Only render the bar when at least one inner cluster has something to
|
|
34
|
-
// show. Otherwise we'd render an empty white strip — e.g. on an
|
|
35
|
-
// unpublished page with the undo flag off.
|
|
36
|
-
shouldShowBar() {
|
|
37
|
-
return Boolean(this.undoRedoEnabled) || this.isPublished;
|
|
38
|
-
},
|
|
39
28
|
brandPageUrl() {
|
|
40
29
|
if (this.brandPageContainerStore.isCustomDomainEnabled &&
|
|
41
30
|
this.brandPageContainerStore.customDomain &&
|
|
@@ -380,21 +380,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
380
380
|
hideChangeTemplateConfirmModal(): void;
|
|
381
381
|
onBackgroundChanged(): void;
|
|
382
382
|
onChangeTemplateConfirmModalCancel(): void;
|
|
383
|
-
onChangeTemplateConfirmModalConfirm():
|
|
383
|
+
onChangeTemplateConfirmModalConfirm(): void;
|
|
384
384
|
onContentChanged(): void;
|
|
385
385
|
onStyleChanged(): void;
|
|
386
|
-
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload):
|
|
386
|
+
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
|
|
387
387
|
setSelectedTabName(payload: any): void;
|
|
388
388
|
showNextNotificationMessage(): Promise<void>;
|
|
389
389
|
updateContent<TContent extends import("../../../brand-page").Content, P extends {
|
|
390
390
|
id: string;
|
|
391
391
|
content: TContent;
|
|
392
392
|
}>(payload: P): Promise<void>;
|
|
393
|
-
_captureTemplateSwitchIfEnabled(): void;
|
|
394
|
-
applyHistorySnapshot(snapshot: import("../../../brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
|
|
395
|
-
_syncLogoSettingsFromSnapshot(snapshot: import("../../../brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
|
|
396
|
-
_navigateToActivePage(activePageId?: string | undefined): void;
|
|
397
|
-
_fallbackSidebarIfSelectedContentMissing(snapshot: import("../../../brand-page").BrandPageModel): void;
|
|
398
393
|
export(): import("../../../brand-page").BrandPageModel;
|
|
399
394
|
setBrandPageType({ brandPageType }: {
|
|
400
395
|
brandPageType: "default" | "brandSite" | "brandContact";
|
|
@@ -381,21 +381,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
381
381
|
hideChangeTemplateConfirmModal(): void;
|
|
382
382
|
onBackgroundChanged(): void;
|
|
383
383
|
onChangeTemplateConfirmModalCancel(): void;
|
|
384
|
-
onChangeTemplateConfirmModalConfirm():
|
|
384
|
+
onChangeTemplateConfirmModalConfirm(): void;
|
|
385
385
|
onContentChanged(): void;
|
|
386
386
|
onStyleChanged(): void;
|
|
387
|
-
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload):
|
|
387
|
+
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
|
|
388
388
|
setSelectedTabName(payload: any): void;
|
|
389
389
|
showNextNotificationMessage(): Promise<void>;
|
|
390
390
|
updateContent<TContent extends import("../../../brand-page").Content, P extends {
|
|
391
391
|
id: string;
|
|
392
392
|
content: TContent;
|
|
393
393
|
}>(payload: P): Promise<void>;
|
|
394
|
-
_captureTemplateSwitchIfEnabled(): void;
|
|
395
|
-
applyHistorySnapshot(snapshot: import("../../../brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
|
|
396
|
-
_syncLogoSettingsFromSnapshot(snapshot: import("../../../brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
|
|
397
|
-
_navigateToActivePage(activePageId?: string | undefined): void;
|
|
398
|
-
_fallbackSidebarIfSelectedContentMissing(snapshot: import("../../../brand-page").BrandPageModel): void;
|
|
399
394
|
export(): import("../../../brand-page").BrandPageModel;
|
|
400
395
|
setBrandPageType({ brandPageType }: {
|
|
401
396
|
brandPageType: "default" | "brandSite" | "brandContact";
|
|
@@ -112,21 +112,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
112
112
|
hideChangeTemplateConfirmModal(): void;
|
|
113
113
|
onBackgroundChanged(): void;
|
|
114
114
|
onChangeTemplateConfirmModalCancel(): void;
|
|
115
|
-
onChangeTemplateConfirmModalConfirm():
|
|
115
|
+
onChangeTemplateConfirmModalConfirm(): void;
|
|
116
116
|
onContentChanged(): void;
|
|
117
117
|
onStyleChanged(): void;
|
|
118
|
-
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload):
|
|
118
|
+
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
|
|
119
119
|
setSelectedTabName(payload: any): void;
|
|
120
120
|
showNextNotificationMessage(): Promise<void>;
|
|
121
121
|
updateContent<TContent extends import("../../../brand-page").Content, P extends {
|
|
122
122
|
id: string;
|
|
123
123
|
content: TContent;
|
|
124
124
|
}>(payload: P): Promise<void>;
|
|
125
|
-
_captureTemplateSwitchIfEnabled(): void;
|
|
126
|
-
applyHistorySnapshot(snapshot: import("../../../brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
|
|
127
|
-
_syncLogoSettingsFromSnapshot(snapshot: import("../../../brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
|
|
128
|
-
_navigateToActivePage(activePageId?: string | undefined): void;
|
|
129
|
-
_fallbackSidebarIfSelectedContentMissing(snapshot: import("../../../brand-page").BrandPageModel): void;
|
|
130
125
|
export(): import("../../../brand-page").BrandPageModel;
|
|
131
126
|
setBrandPageType({ brandPageType }: {
|
|
132
127
|
brandPageType: "default" | "brandSite" | "brandContact";
|
|
@@ -432,21 +432,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
432
432
|
hideChangeTemplateConfirmModal(): void;
|
|
433
433
|
onBackgroundChanged(): void;
|
|
434
434
|
onChangeTemplateConfirmModalCancel(): void;
|
|
435
|
-
onChangeTemplateConfirmModalConfirm():
|
|
435
|
+
onChangeTemplateConfirmModalConfirm(): void;
|
|
436
436
|
onContentChanged(): void;
|
|
437
437
|
onStyleChanged(): void;
|
|
438
|
-
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload):
|
|
438
|
+
onTemplateSelected(payload: import("@brand-page-maker/stores").OnTemplateSelectedPayload): void;
|
|
439
439
|
setSelectedTabName(payload: any): void;
|
|
440
440
|
showNextNotificationMessage(): Promise<void>;
|
|
441
441
|
updateContent<TContent extends import("@brand-page").Content, P extends {
|
|
442
442
|
id: string;
|
|
443
443
|
content: TContent;
|
|
444
444
|
}>(payload: P): Promise<void>;
|
|
445
|
-
_captureTemplateSwitchIfEnabled(): void;
|
|
446
|
-
applyHistorySnapshot(snapshot: import("@brand-page").BrandPageModel, activePageId?: string | undefined, logoEditsStr?: string | undefined): Promise<void>;
|
|
447
|
-
_syncLogoSettingsFromSnapshot(snapshot: import("@brand-page").BrandPageModel, logoEditsStr?: string | undefined): Promise<void>;
|
|
448
|
-
_navigateToActivePage(activePageId?: string | undefined): void;
|
|
449
|
-
_fallbackSidebarIfSelectedContentMissing(snapshot: import("@brand-page").BrandPageModel): void;
|
|
450
445
|
export(): import("@brand-page").BrandPageModel;
|
|
451
446
|
setBrandPageType({ brandPageType }: {
|
|
452
447
|
brandPageType: "default" | "brandSite" | "brandContact";
|
|
@@ -10,8 +10,6 @@ import { usePageNavigationStore } from '../../../shared/page-navigation/store/pa
|
|
|
10
10
|
import { navigateToPageByPageId } from '../../routing';
|
|
11
11
|
import { useSnapshotStore, useAiWebsiteBuilderThreadStore, useAiCheckpointStore, useBrandPageContainerStore, useUiStore, } from '../../stores';
|
|
12
12
|
import { useBrandPageMakerStore } from '../../stores';
|
|
13
|
-
import { useHistoryStore } from '../../stores/history/history-store';
|
|
14
|
-
import { useUndoRedoFlag } from '../useUndoRedoFlag';
|
|
15
13
|
import { useBrandPageMakerUserStore } from '../../stores/user/user-store';
|
|
16
14
|
import { useAiMetadataBuilder } from './useAiMetadataBuilder';
|
|
17
15
|
import { pickErrorMessage, pickWsErrorMessage, buildSubmitErrorReport, } from './aiErrorCopy';
|
|
@@ -25,8 +23,6 @@ export function useAiWebsiteBuilderChat() {
|
|
|
25
23
|
const aiThreadStore = useAiWebsiteBuilderThreadStore();
|
|
26
24
|
const snapshotStore = useSnapshotStore();
|
|
27
25
|
const brandPageMakerStore = useBrandPageMakerStore();
|
|
28
|
-
const historyStore = useHistoryStore();
|
|
29
|
-
const undoRedoEnabled = useUndoRedoFlag();
|
|
30
26
|
const containerStore = useBrandPageContainerStore();
|
|
31
27
|
const userStore = useBrandPageMakerUserStore();
|
|
32
28
|
const uiStore = useUiStore();
|
|
@@ -302,11 +298,6 @@ export function useAiWebsiteBuilderChat() {
|
|
|
302
298
|
navigateToPageByPageId(pageNavigationStore.activePageId);
|
|
303
299
|
}
|
|
304
300
|
await nextTick();
|
|
305
|
-
// One history entry per AI prompt (US-E1). `captureAiChangeset` cancels
|
|
306
|
-
// the auto-watcher's pending flush so the apply doesn't double-capture.
|
|
307
|
-
if (undoRedoEnabled.value) {
|
|
308
|
-
historyStore.captureAiChangeset();
|
|
309
|
-
}
|
|
310
301
|
// Re-capture snapshot so subsequent messages reflect the updated page
|
|
311
302
|
await snapshotStore.refreshSnapshotAsync();
|
|
312
303
|
return {
|
|
@@ -21,7 +21,6 @@ import { buildInitialMarks, emToPx, isStyleChanged, pxToEm, sanitiseClientSideRT
|
|
|
21
21
|
import { HYPERLINK_TYPE, } from '@brand-page';
|
|
22
22
|
import { letterSpacingValueConvertor, colorConvertor, backgroundColorConvertor, } from '@brand-page-maker/convertors';
|
|
23
23
|
import { useUiContentSettingsStore } from '@shared/content-settings/store';
|
|
24
|
-
import { useHistoryStore } from '@brand-page-maker/stores/history/history-store';
|
|
25
24
|
import { AllSelection } from 'prosemirror-state';
|
|
26
25
|
import { MaxLength } from './extensions/MaxLength';
|
|
27
26
|
import { AutoLink } from './extensions/AutoLink';
|
|
@@ -73,10 +72,6 @@ export const useExternalRichTextEditor = () => {
|
|
|
73
72
|
};
|
|
74
73
|
};
|
|
75
74
|
export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDropdownRef, selectedGlobalTextStyles, onSelectTextStyleType, updateRichTextEditor, textStyleTypeOptions, markedText, isHyperlinkPopupOpen, selectedLinkTypeValue) => {
|
|
76
|
-
const historyStore = useHistoryStore();
|
|
77
|
-
// TipTap rehydrates and writes back canonical HTML on mount — fold
|
|
78
|
-
// that into the current head instead of pushing a phantom entry.
|
|
79
|
-
historyStore.mergeNextMutation();
|
|
80
75
|
const editor = new Editor({
|
|
81
76
|
content: model.value ?? '',
|
|
82
77
|
editable: !props.readOnly,
|
|
@@ -234,14 +229,7 @@ export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDro
|
|
|
234
229
|
}
|
|
235
230
|
});
|
|
236
231
|
watch(() => model.value, (newValue) => {
|
|
237
|
-
|
|
238
|
-
// (history undo/redo, template switch, reorder). `!editor.isFocused`
|
|
239
|
-
// distinguishes "external mutation" from "user is typing in me" — the
|
|
240
|
-
// latter would wipe the user's cursor if we called setContent.
|
|
241
|
-
// `updateRichTextEditor.value` is retained as an explicit override for
|
|
242
|
-
// callers (reorder) that need to force a re-seed while focused.
|
|
243
|
-
const isExternalMutation = updateRichTextEditor.value || !editor.isFocused;
|
|
244
|
-
if (isExternalMutation && editor.getHTML() !== newValue) {
|
|
232
|
+
if (updateRichTextEditor.value && editor.getHTML() !== newValue) {
|
|
245
233
|
editor.commands.setContent(newValue, false);
|
|
246
234
|
updateRichTextEditor.value = false;
|
|
247
235
|
//text style type is not switching when reordering
|
|
@@ -268,13 +256,6 @@ export const useRichTextEditor = (model, props, emit, fontSettings, fontStyleDro
|
|
|
268
256
|
emit('update:modelValue', sanitizedData.sanitizedHtml);
|
|
269
257
|
});
|
|
270
258
|
editor.on('selectionUpdate', () => {
|
|
271
|
-
// Skip while a history snapshot is being applied — `setContent` fires
|
|
272
|
-
// selectionUpdate before the editor has fully rehydrated, which causes
|
|
273
|
-
// toolbar buttons (alignment, letter-spacing) to flash through bogus
|
|
274
|
-
// active states before settling. The editor emits a final selectionUpdate
|
|
275
|
-
// after apply completes, which lands the correct values (BP-5506).
|
|
276
|
-
if (historyStore.isApplyingSnapshot)
|
|
277
|
-
return;
|
|
278
259
|
const textStyleAttributes = editor.getAttributes('textStyle');
|
|
279
260
|
const highlightAttributes = editor.getAttributes('highlight');
|
|
280
261
|
const focusedAlignment = editor.getAttributes(editor.state.selection.$anchor.node().type.name);
|