@elementor/editor-components 3.33.0-263 → 3.33.0-266
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/dist/index.js +50 -33
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +47 -30
- package/dist/index.mjs.map +1 -1
- package/package.json +16 -16
- package/src/components/create-component-form/create-component-form.tsx +2 -26
- package/src/create-component-type.ts +11 -0
- package/src/store/create-unpublished-component.ts +40 -0
package/dist/index.js
CHANGED
|
@@ -37,10 +37,10 @@ module.exports = __toCommonJS(index_exports);
|
|
|
37
37
|
// src/init.ts
|
|
38
38
|
var import_editor = require("@elementor/editor");
|
|
39
39
|
var import_editor_canvas5 = require("@elementor/editor-canvas");
|
|
40
|
-
var
|
|
40
|
+
var import_editor_documents3 = require("@elementor/editor-documents");
|
|
41
41
|
var import_editor_elements_panel = require("@elementor/editor-elements-panel");
|
|
42
42
|
var import_editor_styles_repository2 = require("@elementor/editor-styles-repository");
|
|
43
|
-
var
|
|
43
|
+
var import_editor_v1_adapters6 = require("@elementor/editor-v1-adapters");
|
|
44
44
|
var import_store20 = require("@elementor/store");
|
|
45
45
|
var import_i18n8 = require("@wordpress/i18n");
|
|
46
46
|
|
|
@@ -604,11 +604,14 @@ var import_react3 = require("react");
|
|
|
604
604
|
var import_editor_elements4 = require("@elementor/editor-elements");
|
|
605
605
|
var import_editor_ui2 = require("@elementor/editor-ui");
|
|
606
606
|
var import_icons4 = require("@elementor/icons");
|
|
607
|
-
var import_store11 = require("@elementor/store");
|
|
608
607
|
var import_ui5 = require("@elementor/ui");
|
|
609
|
-
var import_utils2 = require("@elementor/utils");
|
|
610
608
|
var import_i18n4 = require("@wordpress/i18n");
|
|
611
609
|
|
|
610
|
+
// src/store/create-unpublished-component.ts
|
|
611
|
+
var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
|
|
612
|
+
var import_store11 = require("@elementor/store");
|
|
613
|
+
var import_utils2 = require("@elementor/utils");
|
|
614
|
+
|
|
612
615
|
// src/utils/tracking.ts
|
|
613
616
|
var import_mixpanel = require("@elementor/mixpanel");
|
|
614
617
|
var import_store9 = require("@elementor/store");
|
|
@@ -643,6 +646,28 @@ var onElementDrop = (_args, element) => {
|
|
|
643
646
|
});
|
|
644
647
|
};
|
|
645
648
|
|
|
649
|
+
// src/store/create-unpublished-component.ts
|
|
650
|
+
function createUnpublishedComponent(name, element, eventData) {
|
|
651
|
+
const uid = (0, import_utils2.generateUniqueId)("component");
|
|
652
|
+
const componentBase = { uid, name };
|
|
653
|
+
(0, import_store11.__dispatch)(
|
|
654
|
+
slice.actions.addUnpublished({
|
|
655
|
+
...componentBase,
|
|
656
|
+
elements: [element]
|
|
657
|
+
})
|
|
658
|
+
);
|
|
659
|
+
(0, import_store11.__dispatch)(slice.actions.addCreatedThisSession(uid));
|
|
660
|
+
replaceElementWithComponent(element, componentBase);
|
|
661
|
+
trackComponentEvent({
|
|
662
|
+
action: "created",
|
|
663
|
+
component_uid: uid,
|
|
664
|
+
component_name: name,
|
|
665
|
+
...eventData
|
|
666
|
+
});
|
|
667
|
+
(0, import_editor_v1_adapters2.__privateRunCommand)("document/save/auto");
|
|
668
|
+
return uid;
|
|
669
|
+
}
|
|
670
|
+
|
|
646
671
|
// src/components/create-component-form/hooks/use-form.ts
|
|
647
672
|
var import_react2 = require("react");
|
|
648
673
|
var useForm = (initialValues) => {
|
|
@@ -752,7 +777,6 @@ function CreateComponentForm() {
|
|
|
752
777
|
const [element, setElement] = (0, import_react3.useState)(null);
|
|
753
778
|
const [anchorPosition, setAnchorPosition] = (0, import_react3.useState)();
|
|
754
779
|
const [resultNotification, setResultNotification] = (0, import_react3.useState)(null);
|
|
755
|
-
const dispatch5 = (0, import_store11.__useDispatch)();
|
|
756
780
|
const eventData = (0, import_react3.useRef)(null);
|
|
757
781
|
(0, import_react3.useEffect)(() => {
|
|
758
782
|
const OPEN_SAVE_AS_COMPONENT_FORM_EVENT = "elementor/editor/open-save-as-component-form";
|
|
@@ -775,22 +799,7 @@ function CreateComponentForm() {
|
|
|
775
799
|
if (!element) {
|
|
776
800
|
throw new Error(`Can't save element as component: element not found`);
|
|
777
801
|
}
|
|
778
|
-
const uid = (
|
|
779
|
-
dispatch5(
|
|
780
|
-
slice.actions.addUnpublished({
|
|
781
|
-
uid,
|
|
782
|
-
name: values.componentName,
|
|
783
|
-
elements: [element.element]
|
|
784
|
-
})
|
|
785
|
-
);
|
|
786
|
-
dispatch5(slice.actions.addCreatedThisSession(uid));
|
|
787
|
-
replaceElementWithComponent(element.element, { uid, name: values.componentName });
|
|
788
|
-
trackComponentEvent({
|
|
789
|
-
action: "created",
|
|
790
|
-
component_uid: uid,
|
|
791
|
-
component_name: values.componentName,
|
|
792
|
-
...eventData.current
|
|
793
|
-
});
|
|
802
|
+
const uid = createUnpublishedComponent(values.componentName, element.element, eventData.current);
|
|
794
803
|
setResultNotification({
|
|
795
804
|
show: true,
|
|
796
805
|
// Translators: %1$s: Component name, %2$s: Component UID
|
|
@@ -909,7 +918,7 @@ var Form = ({
|
|
|
909
918
|
var React9 = __toESM(require("react"));
|
|
910
919
|
var import_react6 = require("react");
|
|
911
920
|
var import_editor_documents = require("@elementor/editor-documents");
|
|
912
|
-
var
|
|
921
|
+
var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
|
|
913
922
|
|
|
914
923
|
// src/components/consts.ts
|
|
915
924
|
var COMPONENT_DOCUMENT_TYPE = "elementor_component";
|
|
@@ -922,9 +931,9 @@ var import_i18n5 = require("@wordpress/i18n");
|
|
|
922
931
|
|
|
923
932
|
// src/hooks/use-canvas-document.ts
|
|
924
933
|
var import_editor_canvas3 = require("@elementor/editor-canvas");
|
|
925
|
-
var
|
|
934
|
+
var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
|
|
926
935
|
function useCanvasDocument() {
|
|
927
|
-
return (0,
|
|
936
|
+
return (0, import_editor_v1_adapters3.__privateUseListenTo)((0, import_editor_v1_adapters3.commandEndEvent)("editor/documents/attach-preview"), () => (0, import_editor_canvas3.getCanvasIframeDocument)());
|
|
928
937
|
}
|
|
929
938
|
|
|
930
939
|
// src/hooks/use-element-rect.ts
|
|
@@ -1111,7 +1120,7 @@ function EditComponent() {
|
|
|
1111
1120
|
function useHandleDocumentSwitches(path, setPath) {
|
|
1112
1121
|
const documentsManager = (0, import_editor_documents.getV1DocumentsManager)();
|
|
1113
1122
|
(0, import_react6.useEffect)(
|
|
1114
|
-
() => (0,
|
|
1123
|
+
() => (0, import_editor_v1_adapters4.__privateListenTo)((0, import_editor_v1_adapters4.commandEndEvent)("editor/documents/attach-preview"), () => {
|
|
1115
1124
|
const { component: currentComponent } = path.at(-1) ?? {};
|
|
1116
1125
|
const { id: currentComponentId } = currentComponent ?? {};
|
|
1117
1126
|
const nextDocument = documentsManager.getCurrent();
|
|
@@ -1150,7 +1159,7 @@ function useNavigateBack(path) {
|
|
|
1150
1159
|
const { component: prevComponent, instanceId: prevComponentInstanceId } = path.at(-2) ?? {};
|
|
1151
1160
|
const { id: prevComponentId } = prevComponent ?? {};
|
|
1152
1161
|
const switchToDocument = (id, selector) => {
|
|
1153
|
-
(0,
|
|
1162
|
+
(0, import_editor_v1_adapters4.__privateRunCommand)("editor/documents/switch", {
|
|
1154
1163
|
id,
|
|
1155
1164
|
selector,
|
|
1156
1165
|
mode: "autosave",
|
|
@@ -1187,7 +1196,8 @@ var EditModeDialog = ({ lockedBy }) => {
|
|
|
1187
1196
|
|
|
1188
1197
|
// src/create-component-type.ts
|
|
1189
1198
|
var import_editor_canvas4 = require("@elementor/editor-canvas");
|
|
1190
|
-
var
|
|
1199
|
+
var import_editor_documents2 = require("@elementor/editor-documents");
|
|
1200
|
+
var import_editor_v1_adapters5 = require("@elementor/editor-v1-adapters");
|
|
1191
1201
|
var import_i18n7 = require("@wordpress/i18n");
|
|
1192
1202
|
var TYPE = "e-component";
|
|
1193
1203
|
function createComponentType(options) {
|
|
@@ -1205,6 +1215,10 @@ function createComponentView(options) {
|
|
|
1205
1215
|
return class extends (0, import_editor_canvas4.createTemplatedElementView)(options) {
|
|
1206
1216
|
legacyWindow = window;
|
|
1207
1217
|
eventsManagerConfig = this.legacyWindow.elementorCommon.eventsManager.config;
|
|
1218
|
+
isComponentCurrentlyEdited() {
|
|
1219
|
+
const currentDocument = (0, import_editor_documents2.getCurrentDocument)();
|
|
1220
|
+
return currentDocument?.id === this.getComponentId()?.value;
|
|
1221
|
+
}
|
|
1208
1222
|
afterSettingsResolve(settings) {
|
|
1209
1223
|
if (settings.component) {
|
|
1210
1224
|
this.collection = this.legacyWindow.elementor.createBackboneElementsCollection(settings.component);
|
|
@@ -1256,7 +1270,7 @@ function createComponentView(options) {
|
|
|
1256
1270
|
if (!isAllowedToSwitchDocument) {
|
|
1257
1271
|
options.showLockedByModal?.(lockedBy || "");
|
|
1258
1272
|
} else {
|
|
1259
|
-
(0,
|
|
1273
|
+
(0, import_editor_v1_adapters5.__privateRunCommand)("editor/documents/switch", {
|
|
1260
1274
|
id: this.getComponentId()?.value,
|
|
1261
1275
|
mode: "autosave",
|
|
1262
1276
|
selector: `[data-id="${this.model.get("id")}"]`,
|
|
@@ -1265,6 +1279,9 @@ function createComponentView(options) {
|
|
|
1265
1279
|
}
|
|
1266
1280
|
}
|
|
1267
1281
|
editComponent({ trigger, location, secondaryLocation }) {
|
|
1282
|
+
if (this.isComponentCurrentlyEdited()) {
|
|
1283
|
+
return;
|
|
1284
|
+
}
|
|
1268
1285
|
this.switchDocument();
|
|
1269
1286
|
const editorSettings = this.model.get("editor_settings");
|
|
1270
1287
|
trackComponentEvent({
|
|
@@ -1466,14 +1483,14 @@ function init() {
|
|
|
1466
1483
|
TYPE,
|
|
1467
1484
|
(options) => createComponentType({ ...options, showLockedByModal: openEditModeDialog })
|
|
1468
1485
|
);
|
|
1469
|
-
(0,
|
|
1470
|
-
const document = (0,
|
|
1486
|
+
(0, import_editor_v1_adapters6.registerDataHook)("dependency", "editor/documents/close", (args) => {
|
|
1487
|
+
const document = (0, import_editor_documents3.getV1CurrentDocument)();
|
|
1471
1488
|
if (document.config.type === COMPONENT_DOCUMENT_TYPE2) {
|
|
1472
1489
|
args.mode = "autosave";
|
|
1473
1490
|
}
|
|
1474
1491
|
return true;
|
|
1475
1492
|
});
|
|
1476
|
-
(0,
|
|
1493
|
+
(0, import_editor_v1_adapters6.registerDataHook)("after", "preview/drop", onElementDrop);
|
|
1477
1494
|
window.elementorCommon.__beforeSave = beforeSave;
|
|
1478
1495
|
(0, import_editor_elements_panel.injectTab)({
|
|
1479
1496
|
id: "components",
|
|
@@ -1492,8 +1509,8 @@ function init() {
|
|
|
1492
1509
|
id: "edit-component",
|
|
1493
1510
|
component: EditComponent
|
|
1494
1511
|
});
|
|
1495
|
-
(0,
|
|
1496
|
-
const { id, config } = (0,
|
|
1512
|
+
(0, import_editor_v1_adapters6.__privateListenTo)((0, import_editor_v1_adapters6.commandStartEvent)("editor/documents/attach-preview"), () => {
|
|
1513
|
+
const { id, config } = (0, import_editor_documents3.getV1CurrentDocument)();
|
|
1497
1514
|
if (id) {
|
|
1498
1515
|
removeComponentStyles(id);
|
|
1499
1516
|
}
|