@chili-publish/studio-sdk 0.121.0
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/LICENSE +21 -0
- package/README.md +89 -0
- package/_bundles/main.js +3 -0
- package/_bundles/main.js.LICENSE.txt +14 -0
- package/_bundles/main.js.map +1 -0
- package/_bundles/report.html +38 -0
- package/lib/editor-engine.json +3 -0
- package/lib/package.json +89 -0
- package/lib/src/controllers/ActionController.d.ts +38 -0
- package/lib/src/controllers/ActionController.js +79 -0
- package/lib/src/controllers/ActionController.js.map +1 -0
- package/lib/src/controllers/AnimationController.d.ts +70 -0
- package/lib/src/controllers/AnimationController.js +135 -0
- package/lib/src/controllers/AnimationController.js.map +1 -0
- package/lib/src/controllers/CanvasController.d.ts +34 -0
- package/lib/src/controllers/CanvasController.js +71 -0
- package/lib/src/controllers/CanvasController.js.map +1 -0
- package/lib/src/controllers/CharacterStyleController.d.ts +55 -0
- package/lib/src/controllers/CharacterStyleController.js +107 -0
- package/lib/src/controllers/CharacterStyleController.js.map +1 -0
- package/lib/src/controllers/ColorStyleController.d.ts +62 -0
- package/lib/src/controllers/ColorStyleController.js +113 -0
- package/lib/src/controllers/ColorStyleController.js.map +1 -0
- package/lib/src/controllers/ConfigurationController.d.ts +27 -0
- package/lib/src/controllers/ConfigurationController.js +60 -0
- package/lib/src/controllers/ConfigurationController.js.map +1 -0
- package/lib/src/controllers/ConnectorController.d.ts +90 -0
- package/lib/src/controllers/ConnectorController.js +196 -0
- package/lib/src/controllers/ConnectorController.js.map +1 -0
- package/lib/src/controllers/DebugController.d.ts +33 -0
- package/lib/src/controllers/DebugController.js +72 -0
- package/lib/src/controllers/DebugController.js.map +1 -0
- package/lib/src/controllers/DocumentController.d.ts +40 -0
- package/lib/src/controllers/DocumentController.js +163 -0
- package/lib/src/controllers/DocumentController.js.map +1 -0
- package/lib/src/controllers/ExperimentController.d.ts +39 -0
- package/lib/src/controllers/ExperimentController.js +83 -0
- package/lib/src/controllers/ExperimentController.js.map +1 -0
- package/lib/src/controllers/FontConnectorController.d.ts +95 -0
- package/lib/src/controllers/FontConnectorController.js +168 -0
- package/lib/src/controllers/FontConnectorController.js.map +1 -0
- package/lib/src/controllers/FontController.d.ts +50 -0
- package/lib/src/controllers/FontController.js +95 -0
- package/lib/src/controllers/FontController.js.map +1 -0
- package/lib/src/controllers/FrameController.d.ts +369 -0
- package/lib/src/controllers/FrameController.js +599 -0
- package/lib/src/controllers/FrameController.js.map +1 -0
- package/lib/src/controllers/LayoutController.d.ts +103 -0
- package/lib/src/controllers/LayoutController.js +190 -0
- package/lib/src/controllers/LayoutController.js.map +1 -0
- package/lib/src/controllers/MediaConnectorController.d.ts +95 -0
- package/lib/src/controllers/MediaConnectorController.js +170 -0
- package/lib/src/controllers/MediaConnectorController.js.map +1 -0
- package/lib/src/controllers/PageController.d.ts +40 -0
- package/lib/src/controllers/PageController.js +92 -0
- package/lib/src/controllers/PageController.js.map +1 -0
- package/lib/src/controllers/ParagraphStyleController.d.ts +62 -0
- package/lib/src/controllers/ParagraphStyleController.js +117 -0
- package/lib/src/controllers/ParagraphStyleController.js.map +1 -0
- package/lib/src/controllers/ShapeController.d.ts +104 -0
- package/lib/src/controllers/ShapeController.js +174 -0
- package/lib/src/controllers/ShapeController.js.map +1 -0
- package/lib/src/controllers/SubscriberController.d.ts +143 -0
- package/lib/src/controllers/SubscriberController.js +213 -0
- package/lib/src/controllers/SubscriberController.js.map +1 -0
- package/lib/src/controllers/TextStyleController.d.ts +31 -0
- package/lib/src/controllers/TextStyleController.js +71 -0
- package/lib/src/controllers/TextStyleController.js.map +1 -0
- package/lib/src/controllers/ToolController.d.ts +54 -0
- package/lib/src/controllers/ToolController.js +104 -0
- package/lib/src/controllers/ToolController.js.map +1 -0
- package/lib/src/controllers/UndoManagerController.d.ts +22 -0
- package/lib/src/controllers/UndoManagerController.js +56 -0
- package/lib/src/controllers/UndoManagerController.js.map +1 -0
- package/lib/src/controllers/UtilsController.d.ts +20 -0
- package/lib/src/controllers/UtilsController.js +35 -0
- package/lib/src/controllers/UtilsController.js.map +1 -0
- package/lib/src/controllers/VariableController.d.ts +117 -0
- package/lib/src/controllers/VariableController.js +205 -0
- package/lib/src/controllers/VariableController.js.map +1 -0
- package/lib/src/index.d.ts +93 -0
- package/lib/src/index.js +154 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/interactions/connector.d.ts +31 -0
- package/lib/src/interactions/connector.js +99 -0
- package/lib/src/interactions/connector.js.map +1 -0
- package/lib/src/setupTests.d.ts +1 -0
- package/lib/src/setupTests.js +2 -0
- package/lib/src/setupTests.js.map +1 -0
- package/lib/src/tests/__mocks__/FrameProperties.d.ts +52 -0
- package/lib/src/tests/__mocks__/FrameProperties.js +20 -0
- package/lib/src/tests/__mocks__/FrameProperties.js.map +1 -0
- package/lib/src/tests/__mocks__/MockImageFrameSource.d.ts +4 -0
- package/lib/src/tests/__mocks__/MockImageFrameSource.js +15 -0
- package/lib/src/tests/__mocks__/MockImageFrameSource.js.map +1 -0
- package/lib/src/tests/__mocks__/animations.d.ts +2 -0
- package/lib/src/tests/__mocks__/animations.js +10 -0
- package/lib/src/tests/__mocks__/animations.js.map +1 -0
- package/lib/src/tests/__mocks__/config.d.ts +5 -0
- package/lib/src/tests/__mocks__/config.js +31 -0
- package/lib/src/tests/__mocks__/config.js.map +1 -0
- package/lib/src/tests/__mocks__/mockDocument.d.ts +1 -0
- package/lib/src/tests/__mocks__/mockDocument.js +2 -0
- package/lib/src/tests/__mocks__/mockDocument.js.map +1 -0
- package/lib/src/tests/controllers/ActionController.test.d.ts +1 -0
- package/lib/src/tests/controllers/ActionController.test.js +61 -0
- package/lib/src/tests/controllers/ActionController.test.js.map +1 -0
- package/lib/src/tests/controllers/AnimationController.test.d.ts +1 -0
- package/lib/src/tests/controllers/AnimationController.test.js +91 -0
- package/lib/src/tests/controllers/AnimationController.test.js.map +1 -0
- package/lib/src/tests/controllers/CanvasController.test.d.ts +1 -0
- package/lib/src/tests/controllers/CanvasController.test.js +50 -0
- package/lib/src/tests/controllers/CanvasController.test.js.map +1 -0
- package/lib/src/tests/controllers/CharacterStyleController.test.d.ts +1 -0
- package/lib/src/tests/controllers/CharacterStyleController.test.js +125 -0
- package/lib/src/tests/controllers/CharacterStyleController.test.js.map +1 -0
- package/lib/src/tests/controllers/ColorStyleController.test.d.ts +1 -0
- package/lib/src/tests/controllers/ColorStyleController.test.js +83 -0
- package/lib/src/tests/controllers/ColorStyleController.test.js.map +1 -0
- package/lib/src/tests/controllers/ConfigurationConnectorController.test.d.ts +1 -0
- package/lib/src/tests/controllers/ConfigurationConnectorController.test.js +39 -0
- package/lib/src/tests/controllers/ConfigurationConnectorController.test.js.map +1 -0
- package/lib/src/tests/controllers/ConnectorController.test.d.ts +1 -0
- package/lib/src/tests/controllers/ConnectorController.test.js +77 -0
- package/lib/src/tests/controllers/ConnectorController.test.js.map +1 -0
- package/lib/src/tests/controllers/DebugController.test.d.ts +1 -0
- package/lib/src/tests/controllers/DebugController.test.js +47 -0
- package/lib/src/tests/controllers/DebugController.test.js.map +1 -0
- package/lib/src/tests/controllers/DocumentController.test.d.ts +1 -0
- package/lib/src/tests/controllers/DocumentController.test.js +170 -0
- package/lib/src/tests/controllers/DocumentController.test.js.map +1 -0
- package/lib/src/tests/controllers/ExperimentController.test.d.ts +1 -0
- package/lib/src/tests/controllers/ExperimentController.test.js +53 -0
- package/lib/src/tests/controllers/ExperimentController.test.js.map +1 -0
- package/lib/src/tests/controllers/FontConnectorController.test.d.ts +1 -0
- package/lib/src/tests/controllers/FontConnectorController.test.js +109 -0
- package/lib/src/tests/controllers/FontConnectorController.test.js.map +1 -0
- package/lib/src/tests/controllers/FontController.test.d.ts +1 -0
- package/lib/src/tests/controllers/FontController.test.js +73 -0
- package/lib/src/tests/controllers/FontController.test.js.map +1 -0
- package/lib/src/tests/controllers/FrameController.test.d.ts +1 -0
- package/lib/src/tests/controllers/FrameController.test.js +408 -0
- package/lib/src/tests/controllers/FrameController.test.js.map +1 -0
- package/lib/src/tests/controllers/LayoutController.test.d.ts +1 -0
- package/lib/src/tests/controllers/LayoutController.test.js +144 -0
- package/lib/src/tests/controllers/LayoutController.test.js.map +1 -0
- package/lib/src/tests/controllers/MediaConnectorController.test.d.ts +1 -0
- package/lib/src/tests/controllers/MediaConnectorController.test.js +109 -0
- package/lib/src/tests/controllers/MediaConnectorController.test.js.map +1 -0
- package/lib/src/tests/controllers/PageController.test.d.ts +1 -0
- package/lib/src/tests/controllers/PageController.test.js +58 -0
- package/lib/src/tests/controllers/PageController.test.js.map +1 -0
- package/lib/src/tests/controllers/ParagraphStyleController.test.d.ts +1 -0
- package/lib/src/tests/controllers/ParagraphStyleController.test.js +139 -0
- package/lib/src/tests/controllers/ParagraphStyleController.test.js.map +1 -0
- package/lib/src/tests/controllers/ShapeController.test.d.ts +1 -0
- package/lib/src/tests/controllers/ShapeController.test.js +102 -0
- package/lib/src/tests/controllers/ShapeController.test.js.map +1 -0
- package/lib/src/tests/controllers/SubscriberContoller.test.d.ts +1 -0
- package/lib/src/tests/controllers/SubscriberContoller.test.js +201 -0
- package/lib/src/tests/controllers/SubscriberContoller.test.js.map +1 -0
- package/lib/src/tests/controllers/TextStyleController.test.d.ts +1 -0
- package/lib/src/tests/controllers/TextStyleController.test.js +43 -0
- package/lib/src/tests/controllers/TextStyleController.test.js.map +1 -0
- package/lib/src/tests/controllers/ToolController.test.d.ts +1 -0
- package/lib/src/tests/controllers/ToolController.test.js +72 -0
- package/lib/src/tests/controllers/ToolController.test.js.map +1 -0
- package/lib/src/tests/controllers/UndoManagerController.test.d.ts +1 -0
- package/lib/src/tests/controllers/UndoManagerController.test.js +35 -0
- package/lib/src/tests/controllers/UndoManagerController.test.js.map +1 -0
- package/lib/src/tests/controllers/UtilsController.test.d.ts +1 -0
- package/lib/src/tests/controllers/UtilsController.test.js +33 -0
- package/lib/src/tests/controllers/UtilsController.test.js.map +1 -0
- package/lib/src/tests/controllers/VariableController.test.d.ts +1 -0
- package/lib/src/tests/controllers/VariableController.test.js +161 -0
- package/lib/src/tests/controllers/VariableController.test.js.map +1 -0
- package/lib/src/tests/index.test.d.ts +1 -0
- package/lib/src/tests/index.test.js +26 -0
- package/lib/src/tests/index.test.js.map +1 -0
- package/lib/src/tests/interactions/connector.test.d.ts +1 -0
- package/lib/src/tests/interactions/connector.test.js +24 -0
- package/lib/src/tests/interactions/connector.test.js.map +1 -0
- package/lib/src/tests/utils/editorResponseData.test.d.ts +1 -0
- package/lib/src/tests/utils/editorResponseData.test.js +48 -0
- package/lib/src/tests/utils/editorResponseData.test.js.map +1 -0
- package/lib/src/tests/utils/getClaculatedValue.test.d.ts +1 -0
- package/lib/src/tests/utils/getClaculatedValue.test.js +78 -0
- package/lib/src/tests/utils/getClaculatedValue.test.js.map +1 -0
- package/lib/src/tests/utils/getFetchUrls.test.d.ts +1 -0
- package/lib/src/tests/utils/getFetchUrls.test.js +10 -0
- package/lib/src/tests/utils/getFetchUrls.test.js.map +1 -0
- package/lib/src/tests/utils/round.test.d.ts +1 -0
- package/lib/src/tests/utils/round.test.js +16 -0
- package/lib/src/tests/utils/round.test.js.map +1 -0
- package/lib/src/types/ActionTypes.d.ts +63 -0
- package/lib/src/types/ActionTypes.js +29 -0
- package/lib/src/types/ActionTypes.js.map +1 -0
- package/lib/src/types/AnimationTypes.d.ts +111 -0
- package/lib/src/types/AnimationTypes.js +49 -0
- package/lib/src/types/AnimationTypes.js.map +1 -0
- package/lib/src/types/CharacterStyleTypes.d.ts +65 -0
- package/lib/src/types/CharacterStyleTypes.js +2 -0
- package/lib/src/types/CharacterStyleTypes.js.map +1 -0
- package/lib/src/types/ColorStyleTypes.d.ts +73 -0
- package/lib/src/types/ColorStyleTypes.js +24 -0
- package/lib/src/types/ColorStyleTypes.js.map +1 -0
- package/lib/src/types/CommonTypes.d.ts +92 -0
- package/lib/src/types/CommonTypes.js +2 -0
- package/lib/src/types/CommonTypes.js.map +1 -0
- package/lib/src/types/ConfigurationTypes.d.ts +6 -0
- package/lib/src/types/ConfigurationTypes.js +8 -0
- package/lib/src/types/ConfigurationTypes.js.map +1 -0
- package/lib/src/types/ConnectorTypes.d.ts +115 -0
- package/lib/src/types/ConnectorTypes.js +94 -0
- package/lib/src/types/ConnectorTypes.js.map +1 -0
- package/lib/src/types/DebugTypes.d.ts +25 -0
- package/lib/src/types/DebugTypes.js +8 -0
- package/lib/src/types/DebugTypes.js.map +1 -0
- package/lib/src/types/DocumentTypes.d.ts +180 -0
- package/lib/src/types/DocumentTypes.js +17 -0
- package/lib/src/types/DocumentTypes.js.map +1 -0
- package/lib/src/types/FontConnectorTypes.d.ts +20 -0
- package/lib/src/types/FontConnectorTypes.js +6 -0
- package/lib/src/types/FontConnectorTypes.js.map +1 -0
- package/lib/src/types/FontTypes.d.ts +15 -0
- package/lib/src/types/FontTypes.js +2 -0
- package/lib/src/types/FontTypes.js.map +1 -0
- package/lib/src/types/FrameTypes.d.ts +156 -0
- package/lib/src/types/FrameTypes.js +63 -0
- package/lib/src/types/FrameTypes.js.map +1 -0
- package/lib/src/types/LayoutTypes.d.ts +61 -0
- package/lib/src/types/LayoutTypes.js +6 -0
- package/lib/src/types/LayoutTypes.js.map +1 -0
- package/lib/src/types/MediaConnectorTypes.d.ts +20 -0
- package/lib/src/types/MediaConnectorTypes.js +6 -0
- package/lib/src/types/MediaConnectorTypes.js.map +1 -0
- package/lib/src/types/PageTypes.d.ts +12 -0
- package/lib/src/types/PageTypes.js +2 -0
- package/lib/src/types/PageTypes.js.map +1 -0
- package/lib/src/types/ParagraphStyleTypes.d.ts +79 -0
- package/lib/src/types/ParagraphStyleTypes.js +2 -0
- package/lib/src/types/ParagraphStyleTypes.js.map +1 -0
- package/lib/src/types/ShapeTypes.d.ts +26 -0
- package/lib/src/types/ShapeTypes.js +13 -0
- package/lib/src/types/ShapeTypes.js.map +1 -0
- package/lib/src/types/TextStyleTypes.d.ts +131 -0
- package/lib/src/types/TextStyleTypes.js +68 -0
- package/lib/src/types/TextStyleTypes.js.map +1 -0
- package/lib/src/types/VariableTypes.d.ts +45 -0
- package/lib/src/types/VariableTypes.js +13 -0
- package/lib/src/types/VariableTypes.js.map +1 -0
- package/lib/src/utils/EditorResponseData.d.ts +3 -0
- package/lib/src/utils/EditorResponseData.js +16 -0
- package/lib/src/utils/EditorResponseData.js.map +1 -0
- package/lib/src/utils/enums.d.ts +30 -0
- package/lib/src/utils/enums.js +36 -0
- package/lib/src/utils/enums.js.map +1 -0
- package/lib/src/utils/getCalculatedValue.d.ts +2 -0
- package/lib/src/utils/getCalculatedValue.js +20 -0
- package/lib/src/utils/getCalculatedValue.js.map +1 -0
- package/lib/src/utils/getFetchUrl.d.ts +2 -0
- package/lib/src/utils/getFetchUrl.js +3 -0
- package/lib/src/utils/getFetchUrl.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
11
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
14
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
15
|
+
};
|
|
16
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
17
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
18
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
|
+
};
|
|
21
|
+
var _ConnectorController_editorAPI, _ConnectorConfigurator_connectorId, _ConnectorConfigurator_res;
|
|
22
|
+
import { ConnectorStateType, } from '../types/ConnectorTypes';
|
|
23
|
+
import { getEditorResponseData } from '../utils/EditorResponseData';
|
|
24
|
+
/**
|
|
25
|
+
* The ConnectorController manages lifetime of all available connectors, regardless of the type, in the
|
|
26
|
+
* document. Use it to add/remove connectors to a template, or set specific configuration.
|
|
27
|
+
*
|
|
28
|
+
* The way CHILI Studio handles different sources of resouces is called 'Connectors'. A Connectors is an
|
|
29
|
+
* implementation of a set of capabilities we need to interact with a certain external resource management system.
|
|
30
|
+
* In essence a connector is the combination of a Javascript snippet and some metadata. The Javascript snippet
|
|
31
|
+
* is loaded in the studio engine using a sandboxed Javascript execution engine (QuickJs). This allows us to
|
|
32
|
+
* execute the media connector both on web using webassembly and on the server side during e.g. animation output
|
|
33
|
+
* generation.
|
|
34
|
+
* This controller is an interface to the running connector instance inside the studio engine. The engine will
|
|
35
|
+
* automatically register the 'grafx-media' and 'grafx-font' connectors. Custom connectors need to be registered
|
|
36
|
+
* manually.
|
|
37
|
+
*/
|
|
38
|
+
export class ConnectorController {
|
|
39
|
+
/**
|
|
40
|
+
* @ignore
|
|
41
|
+
*/
|
|
42
|
+
constructor(editorAPI) {
|
|
43
|
+
/**
|
|
44
|
+
* @ignore
|
|
45
|
+
*/
|
|
46
|
+
_ConnectorController_editorAPI.set(this, void 0);
|
|
47
|
+
/**
|
|
48
|
+
* Registers a new connector in the SDK. After successful registration, depending
|
|
49
|
+
* on the connector type, the connector can be configured and used in the template
|
|
50
|
+
* Remember to add custom authentication information after registering the connector
|
|
51
|
+
* @param registration registration object containing all details about the connector
|
|
52
|
+
*/
|
|
53
|
+
this.registerConnector = (registration) => __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const res = yield __classPrivateFieldGet(this, _ConnectorController_editorAPI, "f");
|
|
55
|
+
return res
|
|
56
|
+
.registerConnector(JSON.stringify(registration))
|
|
57
|
+
.then((result) => getEditorResponseData(result));
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* Configures a registered connector. A configurator helper is passed as an argument
|
|
61
|
+
* of the callback for you to setup your connector.
|
|
62
|
+
* @param connectorId Id of your registered connector
|
|
63
|
+
* @param configurationCallback callback to setup the connector
|
|
64
|
+
*/
|
|
65
|
+
this.configure = (connectorId, configurationCallback) => __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const res = yield __classPrivateFieldGet(this, _ConnectorController_editorAPI, "f");
|
|
67
|
+
// wait for connector to be ready
|
|
68
|
+
yield this.waitForConnectorReady(connectorId);
|
|
69
|
+
// execute callback
|
|
70
|
+
yield configurationCallback(new ConnectorConfigurator(connectorId, res));
|
|
71
|
+
// invalidate connector in engine
|
|
72
|
+
return res.updateConnectorConfiguration(connectorId).then((result) => getEditorResponseData(result));
|
|
73
|
+
});
|
|
74
|
+
/**
|
|
75
|
+
* Gets the current state a connector is in, to wait until a connector is ready to be used, use the 'waitForConnectorReady'
|
|
76
|
+
* method in this controller.
|
|
77
|
+
* @param connectorId Id of your registered connector you want to make sure it is loaded
|
|
78
|
+
*/
|
|
79
|
+
this.getState = (connectorId) => __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const res = yield __classPrivateFieldGet(this, _ConnectorController_editorAPI, "f");
|
|
81
|
+
return res.getConnectorState(connectorId).then((result) => getEditorResponseData(result));
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Connectors are loaded asynchronously in the editor engine, this causes some challenges while configuring them. To make sure
|
|
85
|
+
* an action on the connector will be available, it's advised to await this method. After the Promise resolves we are sure
|
|
86
|
+
* the connector is up and running. This is used internally by the configure method to ensure correct execution. It's especially
|
|
87
|
+
* usefull during startup of the SDK / rigth after the loadDocument call.
|
|
88
|
+
* @param connectorId Id of your registered connector you want to make sure it is loaded
|
|
89
|
+
*/
|
|
90
|
+
this.waitForConnectorReady = (connectorId, timeoutMilliseconds = 2000) => __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
// minimum timeout is 500ms
|
|
92
|
+
let timeout = Math.max(timeoutMilliseconds, 500);
|
|
93
|
+
// maximum timeout is 5000ms
|
|
94
|
+
timeout = Math.min(timeout, 5000);
|
|
95
|
+
const waitTime = 100;
|
|
96
|
+
let retries = 0;
|
|
97
|
+
try {
|
|
98
|
+
// using while loop will prevent stackoverflow issues when using recursion
|
|
99
|
+
// wait for maximum 2 seconds to fail
|
|
100
|
+
while (retries * waitTime < timeout) {
|
|
101
|
+
const result = yield this.getState(connectorId);
|
|
102
|
+
if (result.success &&
|
|
103
|
+
result.parsedData &&
|
|
104
|
+
(result.parsedData.type === ConnectorStateType.running ||
|
|
105
|
+
result.parsedData.type === ConnectorStateType.ready)) {
|
|
106
|
+
return getEditorResponseData({ data: null, success: true, error: undefined, status: 0, parsedData: undefined }, false);
|
|
107
|
+
}
|
|
108
|
+
yield new Promise((resolve) => setTimeout(resolve, waitTime));
|
|
109
|
+
retries++;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
return getEditorResponseData({
|
|
114
|
+
data: null,
|
|
115
|
+
success: false,
|
|
116
|
+
error: `Error while getting connector state ${err}`,
|
|
117
|
+
status: 50000,
|
|
118
|
+
parsedData: undefined,
|
|
119
|
+
}, false);
|
|
120
|
+
}
|
|
121
|
+
return getEditorResponseData({
|
|
122
|
+
data: null,
|
|
123
|
+
success: false,
|
|
124
|
+
error: `Timed out waiting for connector`,
|
|
125
|
+
status: 50000,
|
|
126
|
+
parsedData: undefined,
|
|
127
|
+
}, false);
|
|
128
|
+
});
|
|
129
|
+
__classPrivateFieldSet(this, _ConnectorController_editorAPI, editorAPI, "f");
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
_ConnectorController_editorAPI = new WeakMap();
|
|
133
|
+
/**
|
|
134
|
+
* Helper to setup your connector
|
|
135
|
+
*/
|
|
136
|
+
class ConnectorConfigurator {
|
|
137
|
+
/**
|
|
138
|
+
* @ignore
|
|
139
|
+
*/
|
|
140
|
+
constructor(connectorId, res) {
|
|
141
|
+
/**
|
|
142
|
+
* @ignore
|
|
143
|
+
*/
|
|
144
|
+
_ConnectorConfigurator_connectorId.set(this, void 0);
|
|
145
|
+
_ConnectorConfigurator_res.set(this, void 0);
|
|
146
|
+
/**
|
|
147
|
+
* Allows to customize the context data a connector can work with. The options data
|
|
148
|
+
* will be available using the context parameter in the connector implementation code.
|
|
149
|
+
* @param options object containing key value data to pass to connector context
|
|
150
|
+
*/
|
|
151
|
+
this.setOptions = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
152
|
+
return __classPrivateFieldGet(this, _ConnectorConfigurator_res, "f")
|
|
153
|
+
.setConnectorOptions(__classPrivateFieldGet(this, _ConnectorConfigurator_connectorId, "f"), JSON.stringify(options))
|
|
154
|
+
.then((result) => getEditorResponseData(result));
|
|
155
|
+
});
|
|
156
|
+
/**
|
|
157
|
+
* Allows to map document data (variables, selectedFrame, etc) to connector context data.
|
|
158
|
+
* By defining the mappings, we can trigger redownload of assets (dynamic asset provider)
|
|
159
|
+
* or populate filters for the query endpoint. The mapped data will be available using
|
|
160
|
+
* the context parameter in the connector implementation code.
|
|
161
|
+
* @param mappings collection of mappings to set to this connector
|
|
162
|
+
*/
|
|
163
|
+
this.setMappings = (mappings) => __awaiter(this, void 0, void 0, function* () {
|
|
164
|
+
const result = yield __classPrivateFieldGet(this, _ConnectorConfigurator_res, "f").setConnectorMappings(__classPrivateFieldGet(this, _ConnectorConfigurator_connectorId, "f"), mappings.map(function (m) {
|
|
165
|
+
return JSON.stringify(m);
|
|
166
|
+
}));
|
|
167
|
+
return getEditorResponseData(result);
|
|
168
|
+
});
|
|
169
|
+
/**
|
|
170
|
+
* This method sets the CHILI GraFx Access Token in the Authentication HTTP header for the 'chili' authentication type.
|
|
171
|
+
* The CHILI Token will be used to authenticate every grafx connector http call.
|
|
172
|
+
* @param token token for the CHILI authentication
|
|
173
|
+
*/
|
|
174
|
+
this.setChiliToken = (token) => __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
return __classPrivateFieldGet(this, _ConnectorConfigurator_res, "f")
|
|
176
|
+
.connectorAuthenticationSetChiliToken(__classPrivateFieldGet(this, _ConnectorConfigurator_connectorId, "f"), token)
|
|
177
|
+
.then((result) => getEditorResponseData(result));
|
|
178
|
+
});
|
|
179
|
+
/**
|
|
180
|
+
* This method sets the HTTP headers for the 'staticKey' authentication type.
|
|
181
|
+
* These additional headers will be added to all connector http calls.
|
|
182
|
+
* Can only be used after a connector has been registered. (if you are using a grafx connector no registration is needed)
|
|
183
|
+
* @param headerName name of the header
|
|
184
|
+
* @param headerValue value of the header
|
|
185
|
+
*/
|
|
186
|
+
this.setHttpHeader = (headerName, headerValue) => __awaiter(this, void 0, void 0, function* () {
|
|
187
|
+
return __classPrivateFieldGet(this, _ConnectorConfigurator_res, "f")
|
|
188
|
+
.connectorAuthenticationSetHttpHeader(__classPrivateFieldGet(this, _ConnectorConfigurator_connectorId, "f"), headerName, headerValue)
|
|
189
|
+
.then((result) => getEditorResponseData(result));
|
|
190
|
+
});
|
|
191
|
+
__classPrivateFieldSet(this, _ConnectorConfigurator_connectorId, connectorId, "f");
|
|
192
|
+
__classPrivateFieldSet(this, _ConnectorConfigurator_res, res, "f");
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
_ConnectorConfigurator_connectorId = new WeakMap(), _ConnectorConfigurator_res = new WeakMap();
|
|
196
|
+
//# sourceMappingURL=ConnectorController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectorController.js","sourceRoot":"","sources":["../../../src/controllers/ConnectorController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { EditorAPI } from '../types/CommonTypes';
|
|
2
|
+
import { DebugData } from '../types/DebugTypes';
|
|
3
|
+
/**
|
|
4
|
+
* The DebugController is responsible for all communication regarding Debugging.
|
|
5
|
+
* Methods inside this controller can be called by `window.SDK.debug.{method-name}`
|
|
6
|
+
*/
|
|
7
|
+
export declare class DebugController {
|
|
8
|
+
#private;
|
|
9
|
+
/**
|
|
10
|
+
* @ignore
|
|
11
|
+
*/
|
|
12
|
+
constructor(editorAPI: EditorAPI);
|
|
13
|
+
/**
|
|
14
|
+
* This method returns all debug logs
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
getLogs: () => Promise<import("../types/CommonTypes").EditorResponse<DebugData[]>>;
|
|
18
|
+
/**
|
|
19
|
+
* This method toggles the showcase of debug panel
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
toggleDebugPanel: () => Promise<import("../types/CommonTypes").EditorResponse<null>>;
|
|
23
|
+
/**
|
|
24
|
+
* This method enables the debugging
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
enableDebug: () => Promise<import("../types/CommonTypes").EditorResponse<null>>;
|
|
28
|
+
/**
|
|
29
|
+
* This method disables the debugging
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
disableDebug: () => Promise<import("../types/CommonTypes").EditorResponse<null>>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
11
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
14
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
15
|
+
};
|
|
16
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
17
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
18
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
|
+
};
|
|
21
|
+
var _DebugController_editorAPI;
|
|
22
|
+
import { getEditorResponseData } from '../utils/EditorResponseData';
|
|
23
|
+
/**
|
|
24
|
+
* The DebugController is responsible for all communication regarding Debugging.
|
|
25
|
+
* Methods inside this controller can be called by `window.SDK.debug.{method-name}`
|
|
26
|
+
*/
|
|
27
|
+
export class DebugController {
|
|
28
|
+
/**
|
|
29
|
+
* @ignore
|
|
30
|
+
*/
|
|
31
|
+
constructor(editorAPI) {
|
|
32
|
+
/**
|
|
33
|
+
* @ignore
|
|
34
|
+
*/
|
|
35
|
+
_DebugController_editorAPI.set(this, void 0);
|
|
36
|
+
/**
|
|
37
|
+
* This method returns all debug logs
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
this.getLogs = () => __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const res = yield __classPrivateFieldGet(this, _DebugController_editorAPI, "f");
|
|
42
|
+
return res.getLogs().then((result) => getEditorResponseData(result));
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* This method toggles the showcase of debug panel
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
this.toggleDebugPanel = () => __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const res = yield __classPrivateFieldGet(this, _DebugController_editorAPI, "f");
|
|
50
|
+
return res.toggleDebugPanel().then((result) => getEditorResponseData(result));
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* This method enables the debugging
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
this.enableDebug = () => __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
const res = yield __classPrivateFieldGet(this, _DebugController_editorAPI, "f");
|
|
58
|
+
return res.enableDebug().then((result) => getEditorResponseData(result));
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* This method disables the debugging
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
this.disableDebug = () => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
const res = yield __classPrivateFieldGet(this, _DebugController_editorAPI, "f");
|
|
66
|
+
return res.disableDebug().then((result) => getEditorResponseData(result));
|
|
67
|
+
});
|
|
68
|
+
__classPrivateFieldSet(this, _DebugController_editorAPI, editorAPI, "f");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
_DebugController_editorAPI = new WeakMap();
|
|
72
|
+
//# sourceMappingURL=DebugController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugController.js","sourceRoot":"","sources":["../../../src/controllers/DebugController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE;;;GAGG;AACH,MAAM,OAAO,eAAe;IAMxB;;OAEG;IACH,YAAY,SAAoB;QARhC;;WAEG;QACH,6CAAsB;QAStB;;;WAGG;QACH,YAAO,GAAG,GAAS,EAAE;YACjB,MAAM,GAAG,GAAG,MAAM,uBAAA,IAAI,kCAAW,CAAC;YAClC,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAc,MAAM,CAAC,CAAC,CAAC;QACtF,CAAC,CAAA,CAAC;QAEF;;;WAGG;QACH,qBAAgB,GAAG,GAAS,EAAE;YAC1B,MAAM,GAAG,GAAG,MAAM,uBAAA,IAAI,kCAAW,CAAC;YAClC,OAAO,GAAG,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAO,MAAM,CAAC,CAAC,CAAC;QACxF,CAAC,CAAA,CAAC;QAEF;;;WAGG;QACH,gBAAW,GAAG,GAAS,EAAE;YACrB,MAAM,GAAG,GAAG,MAAM,uBAAA,IAAI,kCAAW,CAAC;YAClC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAO,MAAM,CAAC,CAAC,CAAC;QACnF,CAAC,CAAA,CAAC;QAEF;;;WAGG;QACH,iBAAY,GAAG,GAAS,EAAE;YACtB,MAAM,GAAG,GAAG,MAAM,uBAAA,IAAI,kCAAW,CAAC;YAClC,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAO,MAAM,CAAC,CAAC,CAAC;QACpF,CAAC,CAAA,CAAC;QArCE,uBAAA,IAAI,8BAAc,SAAS,MAAA,CAAC;IAChC,CAAC;CAqCJ"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { EditorAPI, Id } from '../types/CommonTypes';
|
|
2
|
+
import type { ChiliDocument } from '../types/DocumentTypes';
|
|
3
|
+
import { DownloadFormats } from '../utils/enums';
|
|
4
|
+
/**
|
|
5
|
+
* The DocumentController is responsible for all communication regarding the Document.
|
|
6
|
+
* Methods inside this controller can be called by `window.SDK.document.{method-name}`
|
|
7
|
+
*/
|
|
8
|
+
export declare class DocumentController {
|
|
9
|
+
#private;
|
|
10
|
+
/**
|
|
11
|
+
* @ignore
|
|
12
|
+
*/
|
|
13
|
+
constructor(editorAPI: EditorAPI);
|
|
14
|
+
/**
|
|
15
|
+
* This method retrieves the current document state from the editor
|
|
16
|
+
* @returns The JSON document in the form of a string
|
|
17
|
+
*/
|
|
18
|
+
getCurrentDocumentState: () => Promise<import("../types/CommonTypes").EditorResponse<ChiliDocument>>;
|
|
19
|
+
/**
|
|
20
|
+
* This method will load a provided document in the ChiliDocument format
|
|
21
|
+
* @param doc The document to load in
|
|
22
|
+
* @returns The document loaded inside of the canvas
|
|
23
|
+
*/
|
|
24
|
+
loadDocument: (doc: ChiliDocument | string) => Promise<import("../types/CommonTypes").EditorResponse<unknown>>;
|
|
25
|
+
/**
|
|
26
|
+
* This method will call an external api to create a download url
|
|
27
|
+
* The video will be generated in the dimensions (and resolution) of the layout.
|
|
28
|
+
* This means that any upscaling (e.g. playing the video full screen on a 4k monitor) will result in interpolation (= quality loss).
|
|
29
|
+
* @param format The format of a downloadable url
|
|
30
|
+
* @param layoutId id of layout to be downloaded
|
|
31
|
+
* @returns the download link
|
|
32
|
+
*/
|
|
33
|
+
getDownloadLink: (format: DownloadFormats, layoutId: Id) => Promise<import("../types/CommonTypes").EditorResponse<string>>;
|
|
34
|
+
/**
|
|
35
|
+
* This method will call an external api endpoint, untill the api endpoint returns a status code 200
|
|
36
|
+
* @param endpoint api endpoint to start polling on
|
|
37
|
+
* @returns true when the endpoint call has successfully been resolved
|
|
38
|
+
*/
|
|
39
|
+
startPollingOnEndpoint: (endpoint: string) => Promise<true | unknown>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
11
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
14
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
15
|
+
};
|
|
16
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
17
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
18
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
|
+
};
|
|
21
|
+
var _DocumentController_editorAPI;
|
|
22
|
+
import { renderURLs } from '../utils/enums';
|
|
23
|
+
import { getFetchURL } from '../utils/getFetchUrl';
|
|
24
|
+
import { getEditorResponseData } from '../utils/EditorResponseData';
|
|
25
|
+
/**
|
|
26
|
+
* The DocumentController is responsible for all communication regarding the Document.
|
|
27
|
+
* Methods inside this controller can be called by `window.SDK.document.{method-name}`
|
|
28
|
+
*/
|
|
29
|
+
export class DocumentController {
|
|
30
|
+
/**
|
|
31
|
+
* @ignore
|
|
32
|
+
*/
|
|
33
|
+
constructor(editorAPI) {
|
|
34
|
+
/**
|
|
35
|
+
* @ignore
|
|
36
|
+
*/
|
|
37
|
+
_DocumentController_editorAPI.set(this, void 0);
|
|
38
|
+
/**
|
|
39
|
+
* This method retrieves the current document state from the editor
|
|
40
|
+
* @returns The JSON document in the form of a string
|
|
41
|
+
*/
|
|
42
|
+
this.getCurrentDocumentState = () => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const res = yield __classPrivateFieldGet(this, _DocumentController_editorAPI, "f");
|
|
44
|
+
return res.getCurrentDocumentState().then((result) => getEditorResponseData(result));
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* This method will load a provided document in the ChiliDocument format
|
|
48
|
+
* @param doc The document to load in
|
|
49
|
+
* @returns The document loaded inside of the canvas
|
|
50
|
+
*/
|
|
51
|
+
this.loadDocument = (doc) => __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
const res = yield __classPrivateFieldGet(this, _DocumentController_editorAPI, "f");
|
|
53
|
+
if (typeof doc === 'string')
|
|
54
|
+
return res.loadDocument(doc);
|
|
55
|
+
return res.loadDocument(JSON.stringify(doc)).then((result) => getEditorResponseData(result));
|
|
56
|
+
});
|
|
57
|
+
/**
|
|
58
|
+
* This method will call an external api to create a download url
|
|
59
|
+
* The video will be generated in the dimensions (and resolution) of the layout.
|
|
60
|
+
* This means that any upscaling (e.g. playing the video full screen on a 4k monitor) will result in interpolation (= quality loss).
|
|
61
|
+
* @param format The format of a downloadable url
|
|
62
|
+
* @param layoutId id of layout to be downloaded
|
|
63
|
+
* @returns the download link
|
|
64
|
+
*/
|
|
65
|
+
this.getDownloadLink = (format, layoutId) => __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
var _a, _b, _c;
|
|
67
|
+
let error = null;
|
|
68
|
+
let PREPARE_DOWNLOAD_URL = null;
|
|
69
|
+
let DOWNLOAD_URL = '';
|
|
70
|
+
const documentResponse = yield this.getCurrentDocumentState();
|
|
71
|
+
const FETCH_URL = getFetchURL(format, layoutId);
|
|
72
|
+
try {
|
|
73
|
+
const response = yield fetch(FETCH_URL, {
|
|
74
|
+
method: 'POST',
|
|
75
|
+
headers: {
|
|
76
|
+
'Content-Type': 'application/json',
|
|
77
|
+
},
|
|
78
|
+
body: (_a = documentResponse.data) !== null && _a !== void 0 ? _a : null,
|
|
79
|
+
})
|
|
80
|
+
.then((data) => data.json())
|
|
81
|
+
.catch((err) => {
|
|
82
|
+
if (err.code) {
|
|
83
|
+
error = { code: err.code, error: err.message || err };
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
error = { code: 400, error: err.message || err };
|
|
87
|
+
}
|
|
88
|
+
return error;
|
|
89
|
+
});
|
|
90
|
+
if ((response === null || response === void 0 ? void 0 : response.error) || error) {
|
|
91
|
+
return getEditorResponseData({
|
|
92
|
+
success: false,
|
|
93
|
+
data: DOWNLOAD_URL,
|
|
94
|
+
error,
|
|
95
|
+
status: response.status,
|
|
96
|
+
parsedData: null,
|
|
97
|
+
}, false);
|
|
98
|
+
}
|
|
99
|
+
PREPARE_DOWNLOAD_URL = (response === null || response === void 0 ? void 0 : response.resultUrl) ? renderURLs.BASE_URL + (response === null || response === void 0 ? void 0 : response.resultUrl) : null;
|
|
100
|
+
DOWNLOAD_URL = (response === null || response === void 0 ? void 0 : response.downloadUrl) ? renderURLs.BASE_URL + (response === null || response === void 0 ? void 0 : response.downloadUrl) : '';
|
|
101
|
+
let isFileDownloadable = error;
|
|
102
|
+
try {
|
|
103
|
+
isFileDownloadable = yield this.startPollingOnEndpoint(PREPARE_DOWNLOAD_URL);
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
error = err;
|
|
107
|
+
}
|
|
108
|
+
if (isFileDownloadable !== true)
|
|
109
|
+
error = isFileDownloadable;
|
|
110
|
+
if (error) {
|
|
111
|
+
return getEditorResponseData({
|
|
112
|
+
success: false,
|
|
113
|
+
data: '',
|
|
114
|
+
error,
|
|
115
|
+
status: (_b = error === null || error === void 0 ? void 0 : error.code) !== null && _b !== void 0 ? _b : 400,
|
|
116
|
+
parsedData: null,
|
|
117
|
+
}, false);
|
|
118
|
+
}
|
|
119
|
+
return getEditorResponseData({
|
|
120
|
+
success: true,
|
|
121
|
+
status: 200,
|
|
122
|
+
data: DOWNLOAD_URL,
|
|
123
|
+
parsedData: null,
|
|
124
|
+
}, false);
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
error = err;
|
|
128
|
+
return getEditorResponseData({
|
|
129
|
+
success: false,
|
|
130
|
+
data: DOWNLOAD_URL,
|
|
131
|
+
error,
|
|
132
|
+
status: (_c = error === null || error === void 0 ? void 0 : error.code) !== null && _c !== void 0 ? _c : 400,
|
|
133
|
+
parsedData: null,
|
|
134
|
+
}, false);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
/**
|
|
138
|
+
* This method will call an external api endpoint, untill the api endpoint returns a status code 200
|
|
139
|
+
* @param endpoint api endpoint to start polling on
|
|
140
|
+
* @returns true when the endpoint call has successfully been resolved
|
|
141
|
+
*/
|
|
142
|
+
this.startPollingOnEndpoint = (endpoint) => __awaiter(this, void 0, void 0, function* () {
|
|
143
|
+
try {
|
|
144
|
+
const response = yield fetch(endpoint)
|
|
145
|
+
.then((data) => data)
|
|
146
|
+
.catch((err) => err);
|
|
147
|
+
if ((response === null || response === void 0 ? void 0 : response.status) === 202) {
|
|
148
|
+
yield new Promise((resolve) => setTimeout(resolve, 2000));
|
|
149
|
+
return yield this.startPollingOnEndpoint(endpoint);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
return err;
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
__classPrivateFieldSet(this, _DocumentController_editorAPI, editorAPI, "f");
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
_DocumentController_editorAPI = new WeakMap();
|
|
163
|
+
//# sourceMappingURL=DocumentController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentController.js","sourceRoot":"","sources":["../../../src/controllers/DocumentController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { EditorAPI, Id } from '../types/CommonTypes';
|
|
2
|
+
/**
|
|
3
|
+
* The ExperimentController contains all SDK functions that are considered for addition,
|
|
4
|
+
* or functions we want to keep open for changing definitions. This is a sneak peak
|
|
5
|
+
* into future versions of the SDK. Never build production code relying on functions in
|
|
6
|
+
* this controller.
|
|
7
|
+
*/
|
|
8
|
+
export declare class ExperimentController {
|
|
9
|
+
#private;
|
|
10
|
+
/**
|
|
11
|
+
* @ignore
|
|
12
|
+
*/
|
|
13
|
+
constructor(editorAPI: EditorAPI);
|
|
14
|
+
/**
|
|
15
|
+
* This method will assign an image from a variable to the correct ImageFrame
|
|
16
|
+
* @param imageFrameId The ID of the imageFrame where an image needs to be assigned to
|
|
17
|
+
* @param variableId The ID of the variable which contains the image
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
insertImageVariableToFrame: (imageFrameId: Id, variableId: string) => Promise<import("../types/CommonTypes").EditorResponse<null>>;
|
|
21
|
+
/**
|
|
22
|
+
* This method will insert a text variable in the selected frame. Calling this method
|
|
23
|
+
* requires that the selected frame is in text editing mode.
|
|
24
|
+
* @param variableId The ID of the variable to be inserted.
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
insertTextVariable: (variableId: Id) => Promise<import("../types/CommonTypes").EditorResponse<null>>;
|
|
28
|
+
/**
|
|
29
|
+
* This method will enter text editing mode on the provided frame.
|
|
30
|
+
* @param frameId The ID frame to enter text edit mode on.
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
enterTextEditMode: (frameId: Id) => Promise<import("../types/CommonTypes").EditorResponse<null>>;
|
|
34
|
+
/**
|
|
35
|
+
* This method will exit text editing mode.
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
exitTextEditMode: () => Promise<import("../types/CommonTypes").EditorResponse<null>>;
|
|
39
|
+
}
|