@chili-publish/studio-sdk 1.44.1 → 1.46.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/_bundles/main.js +2 -2
- package/_bundles/main.js.map +1 -1
- package/lib/src/controllers/BrandKitController.cjs.js +13 -64
- package/lib/src/controllers/BrandKitController.cjs.js.map +1 -1
- package/lib/src/controllers/BrandKitController.d.ts +22 -30
- package/lib/src/controllers/BrandKitController.es.js +13 -64
- package/lib/src/controllers/BrandKitController.es.js.map +1 -1
- package/lib/src/controllers/ComponentController.cjs.js +4 -0
- package/lib/src/controllers/ComponentController.cjs.js.map +1 -1
- package/lib/src/controllers/ComponentController.d.ts +7 -1
- package/lib/src/controllers/ComponentController.es.js +4 -0
- package/lib/src/controllers/ComponentController.es.js.map +1 -1
- package/lib/src/controllers/ConnectorController.cjs.js.map +1 -1
- package/lib/src/controllers/ConnectorController.d.ts +5 -5
- package/lib/src/controllers/ConnectorController.es.js.map +1 -1
- package/lib/src/controllers/SubscriberController.cjs.js +3 -0
- package/lib/src/controllers/SubscriberController.cjs.js.map +1 -1
- package/lib/src/controllers/SubscriberController.d.ts +7 -0
- package/lib/src/controllers/SubscriberController.es.js +3 -0
- package/lib/src/controllers/SubscriberController.es.js.map +1 -1
- package/lib/src/exceptions/AsyncExceptions.cjs.js.map +1 -1
- package/lib/src/exceptions/AsyncExceptions.d.ts +1 -0
- package/lib/src/exceptions/AsyncExceptions.es.js.map +1 -1
- package/lib/src/exceptions/Helpers.cjs.js.map +1 -1
- package/lib/src/exceptions/Helpers.es.js.map +1 -1
- package/lib/src/index.cjs.js +3 -2
- package/lib/src/index.cjs.js.map +1 -1
- package/lib/src/index.d.ts +2 -1
- package/lib/src/index.es.js +2 -1
- package/lib/src/interactions/Connector.cjs.js +2 -1
- package/lib/src/interactions/Connector.cjs.js.map +1 -1
- package/lib/src/interactions/Connector.d.ts +1 -0
- package/lib/src/interactions/Connector.es.js +2 -1
- package/lib/src/interactions/Connector.es.js.map +1 -1
- package/lib/src/next/NextInitiator.cjs.js +0 -2
- package/lib/src/next/NextInitiator.cjs.js.map +1 -1
- package/lib/src/next/NextInitiator.d.ts +0 -2
- package/lib/src/next/NextInitiator.es.js +0 -2
- package/lib/src/next/NextInitiator.es.js.map +1 -1
- package/lib/src/next/index.d.ts +0 -1
- package/lib/src/sdk/editor-engine.json.cjs.js +1 -1
- package/lib/src/sdk/editor-engine.json.es.js +1 -1
- package/lib/src/sdk/package.json.cjs.js +1 -1
- package/lib/src/sdk/package.json.es.js +1 -1
- package/lib/src/sdk.cjs.js +118 -79
- package/lib/src/sdk.cjs.js.map +1 -1
- package/lib/src/sdk.d.ts +52 -34
- package/lib/src/sdk.es.js +118 -79
- package/lib/src/sdk.es.js.map +1 -1
- package/lib/src/types/BrandKitTypes.d.ts +70 -108
- package/lib/src/types/ColorStyleTypes.cjs.js +10 -0
- package/lib/src/types/ColorStyleTypes.cjs.js.map +1 -1
- package/lib/src/types/ColorStyleTypes.es.js +10 -0
- package/lib/src/types/ColorStyleTypes.es.js.map +1 -1
- package/lib/src/types/CommonTypes.cjs.js +1 -0
- package/lib/src/types/CommonTypes.cjs.js.map +1 -1
- package/lib/src/types/CommonTypes.d.ts +12 -1
- package/lib/src/types/CommonTypes.es.js +1 -0
- package/lib/src/types/CommonTypes.es.js.map +1 -1
- package/lib/src/types/ComponentGridTypes.cjs.js.map +1 -1
- package/lib/src/types/ComponentGridTypes.es.js.map +1 -1
- package/lib/src/types/ConnectorTypes.cjs.js +6 -2
- package/lib/src/types/ConnectorTypes.cjs.js.map +1 -1
- package/lib/src/types/ConnectorTypes.d.ts +10 -1
- package/lib/src/types/ConnectorTypes.es.js +6 -2
- package/lib/src/types/ConnectorTypes.es.js.map +1 -1
- package/lib/src/types/FrameTypes.cjs.js.map +1 -1
- package/lib/src/types/FrameTypes.d.ts +2 -4
- package/lib/src/types/FrameTypes.es.js.map +1 -1
- package/lib/src/types/MethodInvocationTypes.d.ts +27 -0
- package/lib/src/types/RichTextRuleTypes.cjs.js.map +1 -1
- package/lib/src/types/RichTextRuleTypes.es.js.map +1 -1
- package/lib/src/types/ShapeTypes.cjs.js +1 -0
- package/lib/src/types/ShapeTypes.cjs.js.map +1 -1
- package/lib/src/types/ShapeTypes.d.ts +12 -2
- package/lib/src/types/ShapeTypes.es.js +1 -0
- package/lib/src/types/ShapeTypes.es.js.map +1 -1
- package/lib/src/utils/ConfigHelper.cjs.js +4 -0
- package/lib/src/utils/ConfigHelper.cjs.js.map +1 -1
- package/lib/src/utils/ConfigHelper.es.js +4 -0
- package/lib/src/utils/ConfigHelper.es.js.map +1 -1
- package/lib/src/utils/EngineEventTrigger.cjs.js +4 -1
- package/lib/src/utils/EngineEventTrigger.cjs.js.map +1 -1
- package/lib/src/utils/EngineEventTrigger.d.ts +2 -1
- package/lib/src/utils/EngineEventTrigger.es.js +5 -2
- package/lib/src/utils/EngineEventTrigger.es.js.map +1 -1
- package/lib/src/utils/MethodInstrumentation.cjs.js +176 -0
- package/lib/src/utils/MethodInstrumentation.cjs.js.map +1 -0
- package/lib/src/utils/MethodInstrumentation.d.ts +10 -0
- package/lib/src/utils/MethodInstrumentation.es.js +176 -0
- package/lib/src/utils/MethodInstrumentation.es.js.map +1 -0
- package/lib/src/utils/SdkEvent.cjs.js +29 -0
- package/lib/src/utils/SdkEvent.cjs.js.map +1 -0
- package/lib/src/utils/SdkEvent.d.ts +13 -0
- package/lib/src/utils/SdkEvent.es.js +29 -0
- package/lib/src/utils/SdkEvent.es.js.map +1 -0
- package/lib/src/utils/SdkEvents.cjs.js +11 -0
- package/lib/src/utils/SdkEvents.cjs.js.map +1 -0
- package/lib/src/utils/SdkEvents.d.ts +19 -0
- package/lib/src/utils/SdkEvents.es.js +11 -0
- package/lib/src/utils/SdkEvents.es.js.map +1 -0
- package/package.json +1 -1
- package/lib/src/next/controllers/BrandKitController.cjs.js +0 -34
- package/lib/src/next/controllers/BrandKitController.cjs.js.map +0 -1
- package/lib/src/next/controllers/BrandKitController.d.ts +0 -24
- package/lib/src/next/controllers/BrandKitController.es.js +0 -34
- package/lib/src/next/controllers/BrandKitController.es.js.map +0 -1
- package/lib/src/next/types/BrandKitTypes.d.ts +0 -52
- package/lib/src/utils/BrandKitAdapter.cjs.js +0 -42
- package/lib/src/utils/BrandKitAdapter.cjs.js.map +0 -1
- package/lib/src/utils/BrandKitAdapter.d.ts +0 -9
- package/lib/src/utils/BrandKitAdapter.es.js +0 -42
- package/lib/src/utils/BrandKitAdapter.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Connector.cjs.js","sources":["../../../src/interactions/Connector.ts"],"sourcesContent":["import { Connection, connectToChild } from 'penpal';\nimport { Id } from '../types/CommonTypes';\nimport { StudioStyling } from '../types/ConfigurationTypes';\n\nexport const validateEditorLink = (editorLink: string) => {\n const linkValidator = new RegExp(/^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w.-]+)+[\\w]+\\/$/);\n let link = '';\n if (linkValidator.test(editorLink)) {\n link = editorLink;\n } else if (editorLink.indexOf('/index.html') > -1) {\n link = editorLink.replace('/index.html', '/');\n } else if (editorLink.charAt(-1) !== '/') {\n link = `${editorLink}/`;\n }\n return link;\n};\n\nexport const setupFrame = (iframe: HTMLIFrameElement, editorLink: string, styling?: StudioStyling) => {\n const link = validateEditorLink(editorLink);\n const stylingJson = JSON.stringify(styling || {});\n const html = `<html>\n <head>\n <base href=\"/\" />\n <meta charset=\"UTF-8\"/>\n <!-- use this property to pass the StudioStyling to the engine -->\n <meta name=\"studio-styling\" content='${stylingJson}'>\n </head>\n <body>\n <script>\n const handleIframeError = (event) => {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage(\n {\n type: 'iframe-error',\n error: {\n message: event.message,\n filename: event.filename,\n lineno: event.lineno,\n colno: event.colno,\n error: event.error?.toString(),\n },\n },\n window.location.ancestorOrigins[0] || window.location.origin,\n );\n }\n };\n const handleUnhandledRejection = (event) => {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage(\n {\n type: 'iframe-error',\n error: { message: event.reason?.toString() || 'Unhandled promise rejection' },\n },\n window.location.ancestorOrigins[0] || window.location.origin,\n );\n }\n };\n window.addEventListener('error', handleIframeError);\n window.addEventListener('unhandledrejection', handleUnhandledRejection);\n </script>\n <script src=\"${link}init.js\" async></script>\n <script src=\"${link}flutter_bootstrap.js\"></script>\n <script>\n try {\n if(!window?.initializeStudioEngine){\n throw new Error('Failed to initialize studio engine: initializeStudioEngine not found');\n }\n initializeStudioEngine({\n assetBase: '${link}',\n });\n } catch(error) {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage({\n type: 'iframe-error',\n error: {\n message: error?.message || 'Error initializing studio engine',\n error: error?.toString()\n }\n }, window.location.ancestorOrigins[0] || window.location.origin);\n }\n throw error;\n } finally {\n window.removeEventListener('error', handleIframeError);\n window.removeEventListener('unhandledrejection', handleUnhandledRejection);\n }\n </script>\n </body>\n</html>`;\n\n // Set the iframe's content using DOM manipulation\n // eslint-disable-next-line no-param-reassign\n iframe.srcdoc = html;\n};\n\ninterface ConfigParameterTypes {\n onActionsChanged: (state: string) => void;\n onStateChanged: (state: string) => void;\n onAuthExpired: (authRefreshRequest: string) => Promise<string | null>;\n onViewportRequested: () => string | null;\n onDocumentLoaded: () => void;\n onSelectedFramesContentChanged: (state: string) => void;\n onSelectedFramesLayoutChanged: (state: string) => void;\n onFramesLayoutChanged: (state: string) => void;\n onSelectedLayoutPropertiesChanged: (state: string) => void;\n onSelectedLayoutUnitChanged: (state: string) => void;\n /**\n * @deprecated use `onSelectedPageIdChanged` instead\n */\n onPageSelectionChanged: (id: Id) => void;\n onScrubberPositionChanged: (state: string) => void;\n onFrameAnimationsChanged: (state: string) => void;\n onVariableListChanged: (state: string) => void;\n onSelectedToolChanged: (state: string) => void;\n onUndoStateChanged: (state: string) => void;\n onSelectedLayoutFramesChanged: (state: string) => void;\n onSelectedTextStyleChanged: (styles: string) => void;\n onColorsChanged: (colors: string) => void;\n onParagraphStylesChanged: (paragraphStyles: string) => void;\n onCharacterStylesChanged: (characterStyles: string) => void;\n onFontFamiliesChanged: (fonts: string) => void;\n onSelectedLayoutIdChanged: (id: string) => void;\n onLayoutsChanged: (layouts: string) => void;\n onConnectorEvent: (state: string) => void;\n onConnectorsChanged: (state: string) => void;\n onZoomChanged: (scaleFactor: string) => void;\n onSelectedPageIdChanged: (pageId: string) => void;\n onPagesChanged: (pages: string) => void;\n onPageSnapshotInvalidated: (pageId: Id) => void;\n onPageSizeChanged: (scaleFactor: string) => void;\n onShapeCornerRadiusChanged: (cornerRadius: string) => void;\n onCropActiveFrameIdChanged: (id?: Id) => void;\n onAsyncError: (asyncError: string) => void;\n onViewModeChanged: (viewMode: string) => void;\n onBarcodeValidationChanged: (validationResults: string) => void;\n onDataSourceIdChanged: (connectorId?: Id) => void;\n onInjectedDataChanged: (variableId: Id) => void;\n onDocumentIssueListChanged: (documentIssues: string) => void;\n onCustomUndoDataChanged: (customData: string) => void;\n onEngineEditModeChanged: (engineEditMode: string) => void;\n onBrandKitMediaChanged: (brandKitMedia: string) => void;\n}\n\nlet messageHandler: ((event: MessageEvent) => void) | null = null;\n\nconst Connect = (\n editorLink: string,\n params: ConfigParameterTypes,\n setConnection: (connection: Connection) => void,\n editorId = 'chili-editor',\n styling?: StudioStyling,\n onSetupFrameError?: (error: Error) => void,\n) => {\n if (messageHandler) {\n window.removeEventListener('message', messageHandler);\n }\n const editorSelectorId = `#${editorId}`;\n const iframe = document.createElement('iframe');\n iframe.setAttribute('srcdoc', ' ');\n iframe.setAttribute('title', 'Chili-Editor');\n iframe.setAttribute('style', 'width: 100%; height: 100%;');\n iframe.setAttribute('frameBorder', '0');\n iframe.setAttribute('referrerpolicy', 'origin');\n const setupNewFrame = () => {\n const iframeContainer = document.querySelector(editorSelectorId);\n if (iframeContainer) {\n iframeContainer?.appendChild(iframe);\n\n iframe.addEventListener(\n 'error',\n () => {\n const error = new Error('Failed to setup frame: iframe failed to load');\n onSetupFrameError?.(error);\n },\n { capture: true, once: true },\n );\n\n try {\n setupFrame(iframe, editorLink, styling);\n } catch (error: unknown) {\n if (error instanceof Error) {\n onSetupFrameError?.(error);\n } else {\n onSetupFrameError?.(new Error(`Failed to setup frame: ${error}`));\n }\n }\n }\n };\n\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n setupNewFrame();\n } else {\n document.addEventListener('DOMContentLoaded', () => {\n setupNewFrame();\n });\n }\n\n messageHandler = (event: MessageEvent) => {\n if (event.source !== iframe.contentWindow) {\n return;\n }\n if (event.data?.type === 'iframe-error') {\n const errorData = event.data.error;\n const error = new Error(errorData.message || 'Failed to setup frame: error in iframe');\n onSetupFrameError?.(error);\n }\n };\n\n window.addEventListener('message', messageHandler);\n\n setConnection(\n connectToChild({\n // The iframe to which a connection should be made\n iframe,\n // All the methods that we want to expose to the child should be inside the methods object\n // f.e. stateChange(documentJson)\n methods: {\n actionsChanged: params.onActionsChanged,\n stateChanged: params.onStateChanged,\n documentLoaded: params.onDocumentLoaded,\n authExpired: params.onAuthExpired,\n viewportRequested: params.onViewportRequested,\n selectedFramesContent: params.onSelectedFramesContentChanged,\n selectedFramesLayout: params.onSelectedFramesLayoutChanged,\n allFramesLayout: params.onFramesLayoutChanged,\n selectedLayoutProperties: params.onSelectedLayoutPropertiesChanged,\n openLayoutPropertiesPanel: params.onPageSelectionChanged,\n selectedLayoutUnit: params.onSelectedLayoutUnitChanged,\n scrubberPositionChanged: params.onScrubberPositionChanged,\n frameAnimationsChanged: params.onFrameAnimationsChanged,\n selectedToolChanged: params.onSelectedToolChanged,\n variableListChanged: params.onVariableListChanged,\n undoStackStateChanged: params.onUndoStateChanged,\n selectedLayoutFramesChanged: params.onSelectedLayoutFramesChanged,\n selectedTextStyleChanged: params.onSelectedTextStyleChanged,\n colorsChanged: params.onColorsChanged,\n paragraphStylesChanged: params.onParagraphStylesChanged,\n characterStylesChanged: params.onCharacterStylesChanged,\n fontFamiliesChanged: params.onFontFamiliesChanged,\n selectedLayoutId: params.onSelectedLayoutIdChanged,\n layoutListChanged: params.onLayoutsChanged,\n connectorEvent: params.onConnectorEvent,\n connectorsChanged: params.onConnectorsChanged,\n zoomChanged: params.onZoomChanged,\n pageSnapshotInvalidated: params.onPageSnapshotInvalidated,\n pagesChanged: params.onPagesChanged,\n pageSizeChanged: params.onPageSizeChanged,\n shapeCornerRadiusChanged: params.onShapeCornerRadiusChanged,\n cropActiveFrameIdChanged: params.onCropActiveFrameIdChanged,\n asyncError: params.onAsyncError,\n viewModeChanged: params.onViewModeChanged,\n barcodeValidationChanged: params.onBarcodeValidationChanged,\n selectedPageIdChanged: params.onSelectedPageIdChanged,\n dataSourceIdChanged: params.onDataSourceIdChanged,\n injectedDataChanged: params.onInjectedDataChanged,\n documentIssueListChanged: params.onDocumentIssueListChanged,\n customUndoDataChanged: params.onCustomUndoDataChanged,\n engineEditingModeChanged: params.onEngineEditModeChanged,\n brandKitMediaChanged: params.onBrandKitMediaChanged,\n },\n }),\n );\n};\nexport default Connect;\n"],"names":["connectToChild"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Connector.cjs.js","sources":["../../../src/interactions/Connector.ts"],"sourcesContent":["import { Connection, connectToChild } from 'penpal';\nimport { Id } from '../types/CommonTypes';\nimport { StudioStyling } from '../types/ConfigurationTypes';\n\nexport const validateEditorLink = (editorLink: string) => {\n const linkValidator = new RegExp(/^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w.-]+)+[\\w]+\\/$/);\n let link = '';\n if (linkValidator.test(editorLink)) {\n link = editorLink;\n } else if (editorLink.indexOf('/index.html') > -1) {\n link = editorLink.replace('/index.html', '/');\n } else if (editorLink.charAt(-1) !== '/') {\n link = `${editorLink}/`;\n }\n return link;\n};\n\nexport const setupFrame = (iframe: HTMLIFrameElement, editorLink: string, styling?: StudioStyling) => {\n const link = validateEditorLink(editorLink);\n const stylingJson = JSON.stringify(styling || {});\n const html = `<html>\n <head>\n <base href=\"/\" />\n <meta charset=\"UTF-8\"/>\n <!-- use this property to pass the StudioStyling to the engine -->\n <meta name=\"studio-styling\" content='${stylingJson}'>\n </head>\n <body>\n <script>\n const handleIframeError = (event) => {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage(\n {\n type: 'iframe-error',\n error: {\n message: event.message,\n filename: event.filename,\n lineno: event.lineno,\n colno: event.colno,\n error: event.error?.toString(),\n },\n },\n window.location.ancestorOrigins[0] || window.location.origin,\n );\n }\n };\n const handleUnhandledRejection = (event) => {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage(\n {\n type: 'iframe-error',\n error: { message: event.reason?.toString() || 'Unhandled promise rejection' },\n },\n window.location.ancestorOrigins[0] || window.location.origin,\n );\n }\n };\n window.addEventListener('error', handleIframeError);\n window.addEventListener('unhandledrejection', handleUnhandledRejection);\n </script>\n <script src=\"${link}init.js\" async></script>\n <script src=\"${link}flutter_bootstrap.js\"></script>\n <script>\n try {\n if(!window?.initializeStudioEngine){\n throw new Error('Failed to initialize studio engine: initializeStudioEngine not found');\n }\n initializeStudioEngine({\n assetBase: '${link}',\n });\n } catch(error) {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage({\n type: 'iframe-error',\n error: {\n message: error?.message || 'Error initializing studio engine',\n error: error?.toString()\n }\n }, window.location.ancestorOrigins[0] || window.location.origin);\n }\n throw error;\n } finally {\n window.removeEventListener('error', handleIframeError);\n window.removeEventListener('unhandledrejection', handleUnhandledRejection);\n }\n </script>\n </body>\n</html>`;\n\n // Set the iframe's content using DOM manipulation\n // eslint-disable-next-line no-param-reassign\n iframe.srcdoc = html;\n};\n\ninterface ConfigParameterTypes {\n onActionsChanged: (state: string) => void;\n onStateChanged: (state: string) => void;\n onAuthExpired: (authRefreshRequest: string) => Promise<string | null>;\n onViewportRequested: () => string | null;\n onDocumentLoaded: () => void;\n onSelectedFramesContentChanged: (state: string) => void;\n onSelectedFramesLayoutChanged: (state: string) => void;\n onFramesLayoutChanged: (state: string) => void;\n onSelectedLayoutPropertiesChanged: (state: string) => void;\n onSelectedLayoutUnitChanged: (state: string) => void;\n /**\n * @deprecated use `onSelectedPageIdChanged` instead\n */\n onPageSelectionChanged: (id: Id) => void;\n onScrubberPositionChanged: (state: string) => void;\n onFrameAnimationsChanged: (state: string) => void;\n onVariableListChanged: (state: string) => void;\n onSelectedToolChanged: (state: string) => void;\n onUndoStateChanged: (state: string) => void;\n onSelectedLayoutFramesChanged: (state: string) => void;\n onSelectedTextStyleChanged: (styles: string) => void;\n onColorsChanged: (colors: string) => void;\n onParagraphStylesChanged: (paragraphStyles: string) => void;\n onCharacterStylesChanged: (characterStyles: string) => void;\n onFontFamiliesChanged: (fonts: string) => void;\n onSelectedLayoutIdChanged: (id: string) => void;\n onLayoutsChanged: (layouts: string) => void;\n onConnectorEvent: (state: string) => void;\n onConnectorsChanged: (state: string) => void;\n onZoomChanged: (scaleFactor: string) => void;\n onSelectedPageIdChanged: (pageId: string) => void;\n onPagesChanged: (pages: string) => void;\n onPageSnapshotInvalidated: (pageId: Id) => void;\n onPageSizeChanged: (scaleFactor: string) => void;\n onShapeCornerRadiusChanged: (cornerRadius: string) => void;\n onCropActiveFrameIdChanged: (id?: Id) => void;\n onAsyncError: (asyncError: string) => void;\n onViewModeChanged: (viewMode: string) => void;\n onBarcodeValidationChanged: (validationResults: string) => void;\n onDataSourceIdChanged: (connectorId?: Id) => void;\n onInjectedDataChanged: (variableId: Id) => void;\n onDocumentIssueListChanged: (documentIssues: string) => void;\n onCustomUndoDataChanged: (customData: string) => void;\n onEngineEditModeChanged: (engineEditMode: string) => void;\n onBrandKitMediaChanged: (brandKitMedia: string) => void;\n onCanvasFramesManipulated: (frameIds: string) => void;\n}\n\nlet messageHandler: ((event: MessageEvent) => void) | null = null;\n\nconst Connect = (\n editorLink: string,\n params: ConfigParameterTypes,\n setConnection: (connection: Connection) => void,\n editorId = 'chili-editor',\n styling?: StudioStyling,\n onSetupFrameError?: (error: Error) => void,\n) => {\n if (messageHandler) {\n window.removeEventListener('message', messageHandler);\n }\n const editorSelectorId = `#${editorId}`;\n const iframe = document.createElement('iframe');\n iframe.setAttribute('srcdoc', ' ');\n iframe.setAttribute('title', 'Chili-Editor');\n iframe.setAttribute('style', 'width: 100%; height: 100%;');\n iframe.setAttribute('frameBorder', '0');\n iframe.setAttribute('referrerpolicy', 'origin');\n const setupNewFrame = () => {\n const iframeContainer = document.querySelector(editorSelectorId);\n if (iframeContainer) {\n iframeContainer?.appendChild(iframe);\n\n iframe.addEventListener(\n 'error',\n () => {\n const error = new Error('Failed to setup frame: iframe failed to load');\n onSetupFrameError?.(error);\n },\n { capture: true, once: true },\n );\n\n try {\n setupFrame(iframe, editorLink, styling);\n } catch (error: unknown) {\n if (error instanceof Error) {\n onSetupFrameError?.(error);\n } else {\n onSetupFrameError?.(new Error(`Failed to setup frame: ${error}`));\n }\n }\n }\n };\n\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n setupNewFrame();\n } else {\n document.addEventListener('DOMContentLoaded', () => {\n setupNewFrame();\n });\n }\n\n messageHandler = (event: MessageEvent) => {\n if (event.source !== iframe.contentWindow) {\n return;\n }\n if (event.data?.type === 'iframe-error') {\n const errorData = event.data.error;\n const error = new Error(errorData.message || 'Failed to setup frame: error in iframe');\n onSetupFrameError?.(error);\n }\n };\n\n window.addEventListener('message', messageHandler);\n\n setConnection(\n connectToChild({\n // The iframe to which a connection should be made\n iframe,\n // All the methods that we want to expose to the child should be inside the methods object\n // f.e. stateChange(documentJson)\n methods: {\n actionsChanged: params.onActionsChanged,\n stateChanged: params.onStateChanged,\n documentLoaded: params.onDocumentLoaded,\n authExpired: params.onAuthExpired,\n viewportRequested: params.onViewportRequested,\n selectedFramesContent: params.onSelectedFramesContentChanged,\n selectedFramesLayout: params.onSelectedFramesLayoutChanged,\n allFramesLayout: params.onFramesLayoutChanged,\n selectedLayoutProperties: params.onSelectedLayoutPropertiesChanged,\n openLayoutPropertiesPanel: params.onPageSelectionChanged,\n selectedLayoutUnit: params.onSelectedLayoutUnitChanged,\n scrubberPositionChanged: params.onScrubberPositionChanged,\n frameAnimationsChanged: params.onFrameAnimationsChanged,\n selectedToolChanged: params.onSelectedToolChanged,\n variableListChanged: params.onVariableListChanged,\n undoStackStateChanged: params.onUndoStateChanged,\n selectedLayoutFramesChanged: params.onSelectedLayoutFramesChanged,\n selectedTextStyleChanged: params.onSelectedTextStyleChanged,\n colorsChanged: params.onColorsChanged,\n paragraphStylesChanged: params.onParagraphStylesChanged,\n characterStylesChanged: params.onCharacterStylesChanged,\n fontFamiliesChanged: params.onFontFamiliesChanged,\n selectedLayoutId: params.onSelectedLayoutIdChanged,\n layoutListChanged: params.onLayoutsChanged,\n connectorEvent: params.onConnectorEvent,\n connectorsChanged: params.onConnectorsChanged,\n zoomChanged: params.onZoomChanged,\n pageSnapshotInvalidated: params.onPageSnapshotInvalidated,\n pagesChanged: params.onPagesChanged,\n pageSizeChanged: params.onPageSizeChanged,\n shapeCornerRadiusChanged: params.onShapeCornerRadiusChanged,\n cropActiveFrameIdChanged: params.onCropActiveFrameIdChanged,\n asyncError: params.onAsyncError,\n viewModeChanged: params.onViewModeChanged,\n barcodeValidationChanged: params.onBarcodeValidationChanged,\n selectedPageIdChanged: params.onSelectedPageIdChanged,\n dataSourceIdChanged: params.onDataSourceIdChanged,\n injectedDataChanged: params.onInjectedDataChanged,\n documentIssueListChanged: params.onDocumentIssueListChanged,\n customUndoDataChanged: params.onCustomUndoDataChanged,\n engineEditingModeChanged: params.onEngineEditModeChanged,\n brandKitMediaChanged: params.onBrandKitMediaChanged,\n frameManipulated: params.onCanvasFramesManipulated,\n },\n }),\n );\n};\nexport default Connect;\n"],"names":["connectToChild"],"mappings":"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"}
|
|
@@ -49,6 +49,7 @@ interface ConfigParameterTypes {
|
|
|
49
49
|
onCustomUndoDataChanged: (customData: string) => void;
|
|
50
50
|
onEngineEditModeChanged: (engineEditMode: string) => void;
|
|
51
51
|
onBrandKitMediaChanged: (brandKitMedia: string) => void;
|
|
52
|
+
onCanvasFramesManipulated: (frameIds: string) => void;
|
|
52
53
|
}
|
|
53
54
|
declare const Connect: (editorLink: string, params: ConfigParameterTypes, setConnection: (connection: Connection) => void, editorId?: string, styling?: StudioStyling, onSetupFrameError?: (error: Error) => void) => void;
|
|
54
55
|
export default Connect;
|
|
@@ -186,7 +186,8 @@ const Connect = (editorLink, params, setConnection, editorId = "chili-editor", s
|
|
|
186
186
|
documentIssueListChanged: params.onDocumentIssueListChanged,
|
|
187
187
|
customUndoDataChanged: params.onCustomUndoDataChanged,
|
|
188
188
|
engineEditingModeChanged: params.onEngineEditModeChanged,
|
|
189
|
-
brandKitMediaChanged: params.onBrandKitMediaChanged
|
|
189
|
+
brandKitMediaChanged: params.onBrandKitMediaChanged,
|
|
190
|
+
frameManipulated: params.onCanvasFramesManipulated
|
|
190
191
|
}
|
|
191
192
|
})
|
|
192
193
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Connector.es.js","sources":["../../../src/interactions/Connector.ts"],"sourcesContent":["import { Connection, connectToChild } from 'penpal';\nimport { Id } from '../types/CommonTypes';\nimport { StudioStyling } from '../types/ConfigurationTypes';\n\nexport const validateEditorLink = (editorLink: string) => {\n const linkValidator = new RegExp(/^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w.-]+)+[\\w]+\\/$/);\n let link = '';\n if (linkValidator.test(editorLink)) {\n link = editorLink;\n } else if (editorLink.indexOf('/index.html') > -1) {\n link = editorLink.replace('/index.html', '/');\n } else if (editorLink.charAt(-1) !== '/') {\n link = `${editorLink}/`;\n }\n return link;\n};\n\nexport const setupFrame = (iframe: HTMLIFrameElement, editorLink: string, styling?: StudioStyling) => {\n const link = validateEditorLink(editorLink);\n const stylingJson = JSON.stringify(styling || {});\n const html = `<html>\n <head>\n <base href=\"/\" />\n <meta charset=\"UTF-8\"/>\n <!-- use this property to pass the StudioStyling to the engine -->\n <meta name=\"studio-styling\" content='${stylingJson}'>\n </head>\n <body>\n <script>\n const handleIframeError = (event) => {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage(\n {\n type: 'iframe-error',\n error: {\n message: event.message,\n filename: event.filename,\n lineno: event.lineno,\n colno: event.colno,\n error: event.error?.toString(),\n },\n },\n window.location.ancestorOrigins[0] || window.location.origin,\n );\n }\n };\n const handleUnhandledRejection = (event) => {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage(\n {\n type: 'iframe-error',\n error: { message: event.reason?.toString() || 'Unhandled promise rejection' },\n },\n window.location.ancestorOrigins[0] || window.location.origin,\n );\n }\n };\n window.addEventListener('error', handleIframeError);\n window.addEventListener('unhandledrejection', handleUnhandledRejection);\n </script>\n <script src=\"${link}init.js\" async></script>\n <script src=\"${link}flutter_bootstrap.js\"></script>\n <script>\n try {\n if(!window?.initializeStudioEngine){\n throw new Error('Failed to initialize studio engine: initializeStudioEngine not found');\n }\n initializeStudioEngine({\n assetBase: '${link}',\n });\n } catch(error) {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage({\n type: 'iframe-error',\n error: {\n message: error?.message || 'Error initializing studio engine',\n error: error?.toString()\n }\n }, window.location.ancestorOrigins[0] || window.location.origin);\n }\n throw error;\n } finally {\n window.removeEventListener('error', handleIframeError);\n window.removeEventListener('unhandledrejection', handleUnhandledRejection);\n }\n </script>\n </body>\n</html>`;\n\n // Set the iframe's content using DOM manipulation\n // eslint-disable-next-line no-param-reassign\n iframe.srcdoc = html;\n};\n\ninterface ConfigParameterTypes {\n onActionsChanged: (state: string) => void;\n onStateChanged: (state: string) => void;\n onAuthExpired: (authRefreshRequest: string) => Promise<string | null>;\n onViewportRequested: () => string | null;\n onDocumentLoaded: () => void;\n onSelectedFramesContentChanged: (state: string) => void;\n onSelectedFramesLayoutChanged: (state: string) => void;\n onFramesLayoutChanged: (state: string) => void;\n onSelectedLayoutPropertiesChanged: (state: string) => void;\n onSelectedLayoutUnitChanged: (state: string) => void;\n /**\n * @deprecated use `onSelectedPageIdChanged` instead\n */\n onPageSelectionChanged: (id: Id) => void;\n onScrubberPositionChanged: (state: string) => void;\n onFrameAnimationsChanged: (state: string) => void;\n onVariableListChanged: (state: string) => void;\n onSelectedToolChanged: (state: string) => void;\n onUndoStateChanged: (state: string) => void;\n onSelectedLayoutFramesChanged: (state: string) => void;\n onSelectedTextStyleChanged: (styles: string) => void;\n onColorsChanged: (colors: string) => void;\n onParagraphStylesChanged: (paragraphStyles: string) => void;\n onCharacterStylesChanged: (characterStyles: string) => void;\n onFontFamiliesChanged: (fonts: string) => void;\n onSelectedLayoutIdChanged: (id: string) => void;\n onLayoutsChanged: (layouts: string) => void;\n onConnectorEvent: (state: string) => void;\n onConnectorsChanged: (state: string) => void;\n onZoomChanged: (scaleFactor: string) => void;\n onSelectedPageIdChanged: (pageId: string) => void;\n onPagesChanged: (pages: string) => void;\n onPageSnapshotInvalidated: (pageId: Id) => void;\n onPageSizeChanged: (scaleFactor: string) => void;\n onShapeCornerRadiusChanged: (cornerRadius: string) => void;\n onCropActiveFrameIdChanged: (id?: Id) => void;\n onAsyncError: (asyncError: string) => void;\n onViewModeChanged: (viewMode: string) => void;\n onBarcodeValidationChanged: (validationResults: string) => void;\n onDataSourceIdChanged: (connectorId?: Id) => void;\n onInjectedDataChanged: (variableId: Id) => void;\n onDocumentIssueListChanged: (documentIssues: string) => void;\n onCustomUndoDataChanged: (customData: string) => void;\n onEngineEditModeChanged: (engineEditMode: string) => void;\n onBrandKitMediaChanged: (brandKitMedia: string) => void;\n}\n\nlet messageHandler: ((event: MessageEvent) => void) | null = null;\n\nconst Connect = (\n editorLink: string,\n params: ConfigParameterTypes,\n setConnection: (connection: Connection) => void,\n editorId = 'chili-editor',\n styling?: StudioStyling,\n onSetupFrameError?: (error: Error) => void,\n) => {\n if (messageHandler) {\n window.removeEventListener('message', messageHandler);\n }\n const editorSelectorId = `#${editorId}`;\n const iframe = document.createElement('iframe');\n iframe.setAttribute('srcdoc', ' ');\n iframe.setAttribute('title', 'Chili-Editor');\n iframe.setAttribute('style', 'width: 100%; height: 100%;');\n iframe.setAttribute('frameBorder', '0');\n iframe.setAttribute('referrerpolicy', 'origin');\n const setupNewFrame = () => {\n const iframeContainer = document.querySelector(editorSelectorId);\n if (iframeContainer) {\n iframeContainer?.appendChild(iframe);\n\n iframe.addEventListener(\n 'error',\n () => {\n const error = new Error('Failed to setup frame: iframe failed to load');\n onSetupFrameError?.(error);\n },\n { capture: true, once: true },\n );\n\n try {\n setupFrame(iframe, editorLink, styling);\n } catch (error: unknown) {\n if (error instanceof Error) {\n onSetupFrameError?.(error);\n } else {\n onSetupFrameError?.(new Error(`Failed to setup frame: ${error}`));\n }\n }\n }\n };\n\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n setupNewFrame();\n } else {\n document.addEventListener('DOMContentLoaded', () => {\n setupNewFrame();\n });\n }\n\n messageHandler = (event: MessageEvent) => {\n if (event.source !== iframe.contentWindow) {\n return;\n }\n if (event.data?.type === 'iframe-error') {\n const errorData = event.data.error;\n const error = new Error(errorData.message || 'Failed to setup frame: error in iframe');\n onSetupFrameError?.(error);\n }\n };\n\n window.addEventListener('message', messageHandler);\n\n setConnection(\n connectToChild({\n // The iframe to which a connection should be made\n iframe,\n // All the methods that we want to expose to the child should be inside the methods object\n // f.e. stateChange(documentJson)\n methods: {\n actionsChanged: params.onActionsChanged,\n stateChanged: params.onStateChanged,\n documentLoaded: params.onDocumentLoaded,\n authExpired: params.onAuthExpired,\n viewportRequested: params.onViewportRequested,\n selectedFramesContent: params.onSelectedFramesContentChanged,\n selectedFramesLayout: params.onSelectedFramesLayoutChanged,\n allFramesLayout: params.onFramesLayoutChanged,\n selectedLayoutProperties: params.onSelectedLayoutPropertiesChanged,\n openLayoutPropertiesPanel: params.onPageSelectionChanged,\n selectedLayoutUnit: params.onSelectedLayoutUnitChanged,\n scrubberPositionChanged: params.onScrubberPositionChanged,\n frameAnimationsChanged: params.onFrameAnimationsChanged,\n selectedToolChanged: params.onSelectedToolChanged,\n variableListChanged: params.onVariableListChanged,\n undoStackStateChanged: params.onUndoStateChanged,\n selectedLayoutFramesChanged: params.onSelectedLayoutFramesChanged,\n selectedTextStyleChanged: params.onSelectedTextStyleChanged,\n colorsChanged: params.onColorsChanged,\n paragraphStylesChanged: params.onParagraphStylesChanged,\n characterStylesChanged: params.onCharacterStylesChanged,\n fontFamiliesChanged: params.onFontFamiliesChanged,\n selectedLayoutId: params.onSelectedLayoutIdChanged,\n layoutListChanged: params.onLayoutsChanged,\n connectorEvent: params.onConnectorEvent,\n connectorsChanged: params.onConnectorsChanged,\n zoomChanged: params.onZoomChanged,\n pageSnapshotInvalidated: params.onPageSnapshotInvalidated,\n pagesChanged: params.onPagesChanged,\n pageSizeChanged: params.onPageSizeChanged,\n shapeCornerRadiusChanged: params.onShapeCornerRadiusChanged,\n cropActiveFrameIdChanged: params.onCropActiveFrameIdChanged,\n asyncError: params.onAsyncError,\n viewModeChanged: params.onViewModeChanged,\n barcodeValidationChanged: params.onBarcodeValidationChanged,\n selectedPageIdChanged: params.onSelectedPageIdChanged,\n dataSourceIdChanged: params.onDataSourceIdChanged,\n injectedDataChanged: params.onInjectedDataChanged,\n documentIssueListChanged: params.onDocumentIssueListChanged,\n customUndoDataChanged: params.onCustomUndoDataChanged,\n engineEditingModeChanged: params.onEngineEditModeChanged,\n brandKitMediaChanged: params.onBrandKitMediaChanged,\n },\n }),\n );\n};\nexport default Connect;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Connector.es.js","sources":["../../../src/interactions/Connector.ts"],"sourcesContent":["import { Connection, connectToChild } from 'penpal';\nimport { Id } from '../types/CommonTypes';\nimport { StudioStyling } from '../types/ConfigurationTypes';\n\nexport const validateEditorLink = (editorLink: string) => {\n const linkValidator = new RegExp(/^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w.-]+)+[\\w]+\\/$/);\n let link = '';\n if (linkValidator.test(editorLink)) {\n link = editorLink;\n } else if (editorLink.indexOf('/index.html') > -1) {\n link = editorLink.replace('/index.html', '/');\n } else if (editorLink.charAt(-1) !== '/') {\n link = `${editorLink}/`;\n }\n return link;\n};\n\nexport const setupFrame = (iframe: HTMLIFrameElement, editorLink: string, styling?: StudioStyling) => {\n const link = validateEditorLink(editorLink);\n const stylingJson = JSON.stringify(styling || {});\n const html = `<html>\n <head>\n <base href=\"/\" />\n <meta charset=\"UTF-8\"/>\n <!-- use this property to pass the StudioStyling to the engine -->\n <meta name=\"studio-styling\" content='${stylingJson}'>\n </head>\n <body>\n <script>\n const handleIframeError = (event) => {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage(\n {\n type: 'iframe-error',\n error: {\n message: event.message,\n filename: event.filename,\n lineno: event.lineno,\n colno: event.colno,\n error: event.error?.toString(),\n },\n },\n window.location.ancestorOrigins[0] || window.location.origin,\n );\n }\n };\n const handleUnhandledRejection = (event) => {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage(\n {\n type: 'iframe-error',\n error: { message: event.reason?.toString() || 'Unhandled promise rejection' },\n },\n window.location.ancestorOrigins[0] || window.location.origin,\n );\n }\n };\n window.addEventListener('error', handleIframeError);\n window.addEventListener('unhandledrejection', handleUnhandledRejection);\n </script>\n <script src=\"${link}init.js\" async></script>\n <script src=\"${link}flutter_bootstrap.js\"></script>\n <script>\n try {\n if(!window?.initializeStudioEngine){\n throw new Error('Failed to initialize studio engine: initializeStudioEngine not found');\n }\n initializeStudioEngine({\n assetBase: '${link}',\n });\n } catch(error) {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage({\n type: 'iframe-error',\n error: {\n message: error?.message || 'Error initializing studio engine',\n error: error?.toString()\n }\n }, window.location.ancestorOrigins[0] || window.location.origin);\n }\n throw error;\n } finally {\n window.removeEventListener('error', handleIframeError);\n window.removeEventListener('unhandledrejection', handleUnhandledRejection);\n }\n </script>\n </body>\n</html>`;\n\n // Set the iframe's content using DOM manipulation\n // eslint-disable-next-line no-param-reassign\n iframe.srcdoc = html;\n};\n\ninterface ConfigParameterTypes {\n onActionsChanged: (state: string) => void;\n onStateChanged: (state: string) => void;\n onAuthExpired: (authRefreshRequest: string) => Promise<string | null>;\n onViewportRequested: () => string | null;\n onDocumentLoaded: () => void;\n onSelectedFramesContentChanged: (state: string) => void;\n onSelectedFramesLayoutChanged: (state: string) => void;\n onFramesLayoutChanged: (state: string) => void;\n onSelectedLayoutPropertiesChanged: (state: string) => void;\n onSelectedLayoutUnitChanged: (state: string) => void;\n /**\n * @deprecated use `onSelectedPageIdChanged` instead\n */\n onPageSelectionChanged: (id: Id) => void;\n onScrubberPositionChanged: (state: string) => void;\n onFrameAnimationsChanged: (state: string) => void;\n onVariableListChanged: (state: string) => void;\n onSelectedToolChanged: (state: string) => void;\n onUndoStateChanged: (state: string) => void;\n onSelectedLayoutFramesChanged: (state: string) => void;\n onSelectedTextStyleChanged: (styles: string) => void;\n onColorsChanged: (colors: string) => void;\n onParagraphStylesChanged: (paragraphStyles: string) => void;\n onCharacterStylesChanged: (characterStyles: string) => void;\n onFontFamiliesChanged: (fonts: string) => void;\n onSelectedLayoutIdChanged: (id: string) => void;\n onLayoutsChanged: (layouts: string) => void;\n onConnectorEvent: (state: string) => void;\n onConnectorsChanged: (state: string) => void;\n onZoomChanged: (scaleFactor: string) => void;\n onSelectedPageIdChanged: (pageId: string) => void;\n onPagesChanged: (pages: string) => void;\n onPageSnapshotInvalidated: (pageId: Id) => void;\n onPageSizeChanged: (scaleFactor: string) => void;\n onShapeCornerRadiusChanged: (cornerRadius: string) => void;\n onCropActiveFrameIdChanged: (id?: Id) => void;\n onAsyncError: (asyncError: string) => void;\n onViewModeChanged: (viewMode: string) => void;\n onBarcodeValidationChanged: (validationResults: string) => void;\n onDataSourceIdChanged: (connectorId?: Id) => void;\n onInjectedDataChanged: (variableId: Id) => void;\n onDocumentIssueListChanged: (documentIssues: string) => void;\n onCustomUndoDataChanged: (customData: string) => void;\n onEngineEditModeChanged: (engineEditMode: string) => void;\n onBrandKitMediaChanged: (brandKitMedia: string) => void;\n onCanvasFramesManipulated: (frameIds: string) => void;\n}\n\nlet messageHandler: ((event: MessageEvent) => void) | null = null;\n\nconst Connect = (\n editorLink: string,\n params: ConfigParameterTypes,\n setConnection: (connection: Connection) => void,\n editorId = 'chili-editor',\n styling?: StudioStyling,\n onSetupFrameError?: (error: Error) => void,\n) => {\n if (messageHandler) {\n window.removeEventListener('message', messageHandler);\n }\n const editorSelectorId = `#${editorId}`;\n const iframe = document.createElement('iframe');\n iframe.setAttribute('srcdoc', ' ');\n iframe.setAttribute('title', 'Chili-Editor');\n iframe.setAttribute('style', 'width: 100%; height: 100%;');\n iframe.setAttribute('frameBorder', '0');\n iframe.setAttribute('referrerpolicy', 'origin');\n const setupNewFrame = () => {\n const iframeContainer = document.querySelector(editorSelectorId);\n if (iframeContainer) {\n iframeContainer?.appendChild(iframe);\n\n iframe.addEventListener(\n 'error',\n () => {\n const error = new Error('Failed to setup frame: iframe failed to load');\n onSetupFrameError?.(error);\n },\n { capture: true, once: true },\n );\n\n try {\n setupFrame(iframe, editorLink, styling);\n } catch (error: unknown) {\n if (error instanceof Error) {\n onSetupFrameError?.(error);\n } else {\n onSetupFrameError?.(new Error(`Failed to setup frame: ${error}`));\n }\n }\n }\n };\n\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n setupNewFrame();\n } else {\n document.addEventListener('DOMContentLoaded', () => {\n setupNewFrame();\n });\n }\n\n messageHandler = (event: MessageEvent) => {\n if (event.source !== iframe.contentWindow) {\n return;\n }\n if (event.data?.type === 'iframe-error') {\n const errorData = event.data.error;\n const error = new Error(errorData.message || 'Failed to setup frame: error in iframe');\n onSetupFrameError?.(error);\n }\n };\n\n window.addEventListener('message', messageHandler);\n\n setConnection(\n connectToChild({\n // The iframe to which a connection should be made\n iframe,\n // All the methods that we want to expose to the child should be inside the methods object\n // f.e. stateChange(documentJson)\n methods: {\n actionsChanged: params.onActionsChanged,\n stateChanged: params.onStateChanged,\n documentLoaded: params.onDocumentLoaded,\n authExpired: params.onAuthExpired,\n viewportRequested: params.onViewportRequested,\n selectedFramesContent: params.onSelectedFramesContentChanged,\n selectedFramesLayout: params.onSelectedFramesLayoutChanged,\n allFramesLayout: params.onFramesLayoutChanged,\n selectedLayoutProperties: params.onSelectedLayoutPropertiesChanged,\n openLayoutPropertiesPanel: params.onPageSelectionChanged,\n selectedLayoutUnit: params.onSelectedLayoutUnitChanged,\n scrubberPositionChanged: params.onScrubberPositionChanged,\n frameAnimationsChanged: params.onFrameAnimationsChanged,\n selectedToolChanged: params.onSelectedToolChanged,\n variableListChanged: params.onVariableListChanged,\n undoStackStateChanged: params.onUndoStateChanged,\n selectedLayoutFramesChanged: params.onSelectedLayoutFramesChanged,\n selectedTextStyleChanged: params.onSelectedTextStyleChanged,\n colorsChanged: params.onColorsChanged,\n paragraphStylesChanged: params.onParagraphStylesChanged,\n characterStylesChanged: params.onCharacterStylesChanged,\n fontFamiliesChanged: params.onFontFamiliesChanged,\n selectedLayoutId: params.onSelectedLayoutIdChanged,\n layoutListChanged: params.onLayoutsChanged,\n connectorEvent: params.onConnectorEvent,\n connectorsChanged: params.onConnectorsChanged,\n zoomChanged: params.onZoomChanged,\n pageSnapshotInvalidated: params.onPageSnapshotInvalidated,\n pagesChanged: params.onPagesChanged,\n pageSizeChanged: params.onPageSizeChanged,\n shapeCornerRadiusChanged: params.onShapeCornerRadiusChanged,\n cropActiveFrameIdChanged: params.onCropActiveFrameIdChanged,\n asyncError: params.onAsyncError,\n viewModeChanged: params.onViewModeChanged,\n barcodeValidationChanged: params.onBarcodeValidationChanged,\n selectedPageIdChanged: params.onSelectedPageIdChanged,\n dataSourceIdChanged: params.onDataSourceIdChanged,\n injectedDataChanged: params.onInjectedDataChanged,\n documentIssueListChanged: params.onDocumentIssueListChanged,\n customUndoDataChanged: params.onCustomUndoDataChanged,\n engineEditingModeChanged: params.onEngineEditModeChanged,\n brandKitMediaChanged: params.onBrandKitMediaChanged,\n frameManipulated: params.onCanvasFramesManipulated,\n },\n }),\n );\n};\nexport default Connect;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const BrandKitController = require("./controllers/BrandKitController.cjs.js");
|
|
4
3
|
const SubscriberController = require("./controllers/SubscriberController.cjs.js");
|
|
5
4
|
const VariableController = require("./controllers/VariableController.cjs.js");
|
|
6
5
|
const ConnectorController = require("./controllers/ConnectorController.cjs.js");
|
|
@@ -21,7 +20,6 @@ class NextInitiator {
|
|
|
21
20
|
this.connector = new ConnectorController.ConnectorController(this.editorAPI);
|
|
22
21
|
this.page = new PageController.PageController(this.editorAPI);
|
|
23
22
|
this.canvas = new CanvasController.CanvasController(this.editorAPI);
|
|
24
|
-
this.brandKit = new BrandKitController.BrandKitController(this.editorAPI);
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
25
|
exports.NextInitiator = NextInitiator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextInitiator.cjs.js","sources":["../../../src/next/NextInitiator.ts"],"sourcesContent":["import { Connection } from 'penpal';\nimport { EditorAPI, RuntimeConfigType } from '../types/CommonTypes';\nimport {
|
|
1
|
+
{"version":3,"file":"NextInitiator.cjs.js","sources":["../../../src/next/NextInitiator.ts"],"sourcesContent":["import { Connection } from 'penpal';\nimport { EditorAPI, RuntimeConfigType } from '../types/CommonTypes';\nimport { SubscriberController } from './controllers/SubscriberController';\nimport { VariableController } from './controllers/VariableController';\nimport { ConnectorController } from './controllers/ConnectorController';\nimport { PageController } from './controllers/PageController';\nimport { CanvasController } from '../controllers/CanvasController';\n\n/**\n * The next initiator is a split off on SDK level to tag next features.\n * The principle is that all breaking changes that we are anticipating, come into this section of the SDK.\n * This allows us to introduce breaking changes before bumping the SDK Major version, since we want to bundle some of them.\n * This way our major version can stay stable for longer, without sacrificing the flexibility we need to innovate.\n * Together with a major update, the functions and additions in this part of the SDK will be moved to the main part.\n * If you're using the next controller, you might need to import the typings also from the next types.\n * this can be referenced in your application as @chili-publish/studio-sdk/lib/src/next\n */\nexport class NextInitiator {\n private config: RuntimeConfigType;\n private connection: Connection;\n\n /**\n * @ignore\n */\n private editorAPI: EditorAPI;\n\n subscriber: SubscriberController;\n variable: VariableController;\n connector: ConnectorController;\n page: PageController;\n canvas: CanvasController;\n\n /**\n * The next initiator is a split off on SDK level to tag next features\n * The SDK should be configured clientside and it exposes all controllers to work with in other applications\n * @param config The configuration object where the SDK and editor can get configured\n */\n constructor(config: RuntimeConfigType, connection: Connection, editorAPI: EditorAPI) {\n this.config = config;\n this.connection = connection;\n this.editorAPI = editorAPI;\n\n this.subscriber = new SubscriberController(config);\n this.variable = new VariableController(this.editorAPI);\n this.connector = new ConnectorController(this.editorAPI);\n this.page = new PageController(this.editorAPI);\n this.canvas = new CanvasController(this.editorAPI);\n }\n}\n"],"names":["SubscriberController","VariableController","ConnectorController","PageController","CanvasController"],"mappings":";;;;;;;AAiBO,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBvB,YAAY,QAA2B,YAAwB,WAAsB;AACjF,SAAK,SAAS;AACd,SAAK,aAAa;AAClB,SAAK,YAAY;AAEjB,SAAK,aAAa,IAAIA,qBAAAA,qBAAqB,MAAM;AACjD,SAAK,WAAW,IAAIC,sCAAmB,KAAK,SAAS;AACrD,SAAK,YAAY,IAAIC,wCAAoB,KAAK,SAAS;AACvD,SAAK,OAAO,IAAIC,8BAAe,KAAK,SAAS;AAC7C,SAAK,SAAS,IAAIC,kCAAiB,KAAK,SAAS;AAAA,EACrD;AACJ;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Connection } from 'penpal';
|
|
2
2
|
import { EditorAPI, RuntimeConfigType } from '../types/CommonTypes';
|
|
3
|
-
import { BrandKitController } from './controllers/BrandKitController';
|
|
4
3
|
import { SubscriberController } from './controllers/SubscriberController';
|
|
5
4
|
import { VariableController } from './controllers/VariableController';
|
|
6
5
|
import { ConnectorController } from './controllers/ConnectorController';
|
|
@@ -27,7 +26,6 @@ export declare class NextInitiator {
|
|
|
27
26
|
connector: ConnectorController;
|
|
28
27
|
page: PageController;
|
|
29
28
|
canvas: CanvasController;
|
|
30
|
-
brandKit: BrandKitController;
|
|
31
29
|
/**
|
|
32
30
|
* The next initiator is a split off on SDK level to tag next features
|
|
33
31
|
* The SDK should be configured clientside and it exposes all controllers to work with in other applications
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { BrandKitController } from "./controllers/BrandKitController.es.js";
|
|
2
1
|
import { SubscriberController } from "./controllers/SubscriberController.es.js";
|
|
3
2
|
import { VariableController } from "./controllers/VariableController.es.js";
|
|
4
3
|
import { ConnectorController } from "./controllers/ConnectorController.es.js";
|
|
@@ -19,7 +18,6 @@ class NextInitiator {
|
|
|
19
18
|
this.connector = new ConnectorController(this.editorAPI);
|
|
20
19
|
this.page = new PageController(this.editorAPI);
|
|
21
20
|
this.canvas = new CanvasController(this.editorAPI);
|
|
22
|
-
this.brandKit = new BrandKitController(this.editorAPI);
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
23
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextInitiator.es.js","sources":["../../../src/next/NextInitiator.ts"],"sourcesContent":["import { Connection } from 'penpal';\nimport { EditorAPI, RuntimeConfigType } from '../types/CommonTypes';\nimport {
|
|
1
|
+
{"version":3,"file":"NextInitiator.es.js","sources":["../../../src/next/NextInitiator.ts"],"sourcesContent":["import { Connection } from 'penpal';\nimport { EditorAPI, RuntimeConfigType } from '../types/CommonTypes';\nimport { SubscriberController } from './controllers/SubscriberController';\nimport { VariableController } from './controllers/VariableController';\nimport { ConnectorController } from './controllers/ConnectorController';\nimport { PageController } from './controllers/PageController';\nimport { CanvasController } from '../controllers/CanvasController';\n\n/**\n * The next initiator is a split off on SDK level to tag next features.\n * The principle is that all breaking changes that we are anticipating, come into this section of the SDK.\n * This allows us to introduce breaking changes before bumping the SDK Major version, since we want to bundle some of them.\n * This way our major version can stay stable for longer, without sacrificing the flexibility we need to innovate.\n * Together with a major update, the functions and additions in this part of the SDK will be moved to the main part.\n * If you're using the next controller, you might need to import the typings also from the next types.\n * this can be referenced in your application as @chili-publish/studio-sdk/lib/src/next\n */\nexport class NextInitiator {\n private config: RuntimeConfigType;\n private connection: Connection;\n\n /**\n * @ignore\n */\n private editorAPI: EditorAPI;\n\n subscriber: SubscriberController;\n variable: VariableController;\n connector: ConnectorController;\n page: PageController;\n canvas: CanvasController;\n\n /**\n * The next initiator is a split off on SDK level to tag next features\n * The SDK should be configured clientside and it exposes all controllers to work with in other applications\n * @param config The configuration object where the SDK and editor can get configured\n */\n constructor(config: RuntimeConfigType, connection: Connection, editorAPI: EditorAPI) {\n this.config = config;\n this.connection = connection;\n this.editorAPI = editorAPI;\n\n this.subscriber = new SubscriberController(config);\n this.variable = new VariableController(this.editorAPI);\n this.connector = new ConnectorController(this.editorAPI);\n this.page = new PageController(this.editorAPI);\n this.canvas = new CanvasController(this.editorAPI);\n }\n}\n"],"names":[],"mappings":";;;;;AAiBO,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBvB,YAAY,QAA2B,YAAwB,WAAsB;AACjF,SAAK,SAAS;AACd,SAAK,aAAa;AAClB,SAAK,YAAY;AAEjB,SAAK,aAAa,IAAI,qBAAqB,MAAM;AACjD,SAAK,WAAW,IAAI,mBAAmB,KAAK,SAAS;AACrD,SAAK,YAAY,IAAI,oBAAoB,KAAK,SAAS;AACvD,SAAK,OAAO,IAAI,eAAe,KAAK,SAAS;AAC7C,SAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS;AAAA,EACrD;AACJ;"}
|
package/lib/src/next/index.d.ts
CHANGED
|
@@ -3,4 +3,3 @@ export type { ConnectorGrafxRegistration, ConnectorInstance, ConnectorLocalRegis
|
|
|
3
3
|
export type { NextSubscribers } from './types/NextSubscribers';
|
|
4
4
|
export type { ListVariable } from './types/VariableTypes';
|
|
5
5
|
export type { PageSize } from './types/PageTypes';
|
|
6
|
-
export type { APIBrandKit, APIBrandKitCharacterStyle, APIBrandKitColor, APIBrandKitFont, APIBrandKitMedia, APIBrandKitParagraphStyle, BrandKit, } from './types/BrandKitTypes';
|
package/lib/src/sdk.cjs.js
CHANGED
|
@@ -43,19 +43,34 @@ const GradientStyleController = require("./controllers/GradientStyleController.c
|
|
|
43
43
|
const ComponentConnectorController = require("./controllers/ComponentConnectorController.cjs.js");
|
|
44
44
|
const ComponentController = require("./controllers/ComponentController.cjs.js");
|
|
45
45
|
const ComponentGridController = require("./controllers/ComponentGridController.cjs.js");
|
|
46
|
+
const MethodInstrumentation = require("./utils/MethodInstrumentation.cjs.js");
|
|
47
|
+
const SdkEvents = require("./utils/SdkEvents.cjs.js");
|
|
46
48
|
const ENGINE_DOMAIN = "studio-cdn.chiligrafx.com";
|
|
47
49
|
const FIXED_EDITOR_LINK = `https://${ENGINE_DOMAIN}/editor/${editorEngine.default.current}/web`;
|
|
48
50
|
let connection;
|
|
51
|
+
const PENDING_INSTRUMENTATION = Symbol("pendingInstrumentation");
|
|
52
|
+
const markForInstrumentation = (controller) => {
|
|
53
|
+
Object.defineProperty(controller, PENDING_INSTRUMENTATION, {
|
|
54
|
+
value: true,
|
|
55
|
+
enumerable: false,
|
|
56
|
+
configurable: true
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
const isPendingInstrumentation = (value) => {
|
|
60
|
+
return typeof value === "object" && value !== null && value[PENDING_INSTRUMENTATION] === true;
|
|
61
|
+
};
|
|
49
62
|
class SDK {
|
|
50
63
|
/**
|
|
51
64
|
* The SDK should be configured clientside and it exposes all controllers to work with in other applications
|
|
52
65
|
* @param config The configuration object where the SDK and editor can get configured
|
|
53
66
|
*/
|
|
54
67
|
constructor(config) {
|
|
68
|
+
var _a;
|
|
55
69
|
this.localConfig = /* @__PURE__ */ new Map();
|
|
56
70
|
this.dataItemMappingTools = new DataItemMappingTools.DataItemMappingTools();
|
|
71
|
+
this.methodListeners = new MethodInstrumentation.MethodListenerRegistry();
|
|
57
72
|
this.loadEditor = () => {
|
|
58
|
-
var
|
|
73
|
+
var _a2;
|
|
59
74
|
Connector.default(
|
|
60
75
|
this.config.editorLink || FIXED_EDITOR_LINK,
|
|
61
76
|
{
|
|
@@ -73,8 +88,8 @@ class SDK {
|
|
|
73
88
|
onScrubberPositionChanged: this.subscriber.onAnimationPlaybackChanged,
|
|
74
89
|
onFrameAnimationsChanged: this.subscriber.onAnimationChanged,
|
|
75
90
|
onVariableListChanged: (state) => {
|
|
76
|
-
var
|
|
77
|
-
if ((
|
|
91
|
+
var _a3;
|
|
92
|
+
if ((_a3 = this.enabledNextSubscribers) == null ? void 0 : _a3.onVariableListChanged) {
|
|
78
93
|
this.next.subscriber.onVariableListChanged(state);
|
|
79
94
|
} else {
|
|
80
95
|
this.subscriber.onVariableListChanged(state);
|
|
@@ -92,8 +107,8 @@ class SDK {
|
|
|
92
107
|
onLayoutsChanged: this.subscriber.onLayoutsChanged,
|
|
93
108
|
onConnectorEvent: this.subscriber.onConnectorEvent,
|
|
94
109
|
onConnectorsChanged: (state) => {
|
|
95
|
-
var
|
|
96
|
-
if ((
|
|
110
|
+
var _a3;
|
|
111
|
+
if ((_a3 = this.enabledNextSubscribers) == null ? void 0 : _a3.onConnectorsChanged) {
|
|
97
112
|
this.next.subscriber.onConnectorsChanged(state);
|
|
98
113
|
} else {
|
|
99
114
|
this.subscriber.onConnectorsChanged(state);
|
|
@@ -104,8 +119,8 @@ class SDK {
|
|
|
104
119
|
onPagesChanged: this.subscriber.onPagesChanged,
|
|
105
120
|
onPageSnapshotInvalidated: this.subscriber.onPageSnapshotInvalidated,
|
|
106
121
|
onPageSizeChanged: (state) => {
|
|
107
|
-
var
|
|
108
|
-
if ((
|
|
122
|
+
var _a3;
|
|
123
|
+
if ((_a3 = this.enabledNextSubscribers) == null ? void 0 : _a3.onPageSizeChanged) {
|
|
109
124
|
this.next.subscriber.onPageSizeChanged(state);
|
|
110
125
|
} else {
|
|
111
126
|
this.subscriber.onPageSizeChanged(state);
|
|
@@ -121,54 +136,56 @@ class SDK {
|
|
|
121
136
|
onDocumentIssueListChanged: this.subscriber.onDocumentIssueListChanged,
|
|
122
137
|
onCustomUndoDataChanged: this.subscriber.onCustomUndoDataChanged,
|
|
123
138
|
onEngineEditModeChanged: this.subscriber.onEngineEditModeChanged,
|
|
124
|
-
onBrandKitMediaChanged: this.subscriber.onBrandKitMediaChanged
|
|
139
|
+
onBrandKitMediaChanged: this.subscriber.onBrandKitMediaChanged,
|
|
140
|
+
onCanvasFramesManipulated: this.subscriber.onCanvasFramesManipulated
|
|
125
141
|
},
|
|
126
142
|
this.setConnection,
|
|
127
143
|
this.config.editorId,
|
|
128
144
|
this.config.studioStyling,
|
|
129
145
|
(error) => {
|
|
130
|
-
var
|
|
131
|
-
(_b = (
|
|
146
|
+
var _a3, _b;
|
|
147
|
+
(_b = (_a3 = this.config).onConnectionError) == null ? void 0 : _b.call(_a3, error);
|
|
132
148
|
}
|
|
133
149
|
);
|
|
134
150
|
this.editorAPI = connection == null ? void 0 : connection.promise.then((editorAPI) => {
|
|
135
151
|
return editorAPI;
|
|
136
152
|
});
|
|
137
|
-
this.action = new ActionController.ActionController(this.editorAPI);
|
|
138
|
-
this.layout = new LayoutController.LayoutController(this.editorAPI);
|
|
139
|
-
this.frame = new FrameController.FrameController(this.editorAPI);
|
|
140
|
-
this.barcode = new BarcodeController.BarcodeController(this.editorAPI);
|
|
141
|
-
this.component = new ComponentController.ComponentController(this.editorAPI);
|
|
142
|
-
this.animation = new AnimationController.AnimationController(this.editorAPI);
|
|
143
|
-
this.document = new DocumentController.DocumentController(this.editorAPI);
|
|
144
|
-
this.configuration = new LocalConfigurationDecorator.LocalConfigurationDecorator(this.editorAPI, this.localConfig);
|
|
145
|
-
this.utils = new UtilsController.UtilsController(this.editorAPI, this.localConfig);
|
|
146
|
-
this.tool = new ToolController.ToolController(this.editorAPI);
|
|
147
|
-
this.page = new PageController.PageController(this.editorAPI);
|
|
148
|
-
this.debug = new DebugController.DebugController(this.editorAPI);
|
|
149
|
-
this.undoManager = new UndoManagerController.UndoManagerController(this.editorAPI, this);
|
|
150
|
-
this.textSelection = new TextStyleController.TextStyleController(this.editorAPI);
|
|
151
|
-
this.colorStyle = new ColorStyleController.ColorStyleController(this.editorAPI);
|
|
152
|
-
this.gradientStyle = new GradientStyleController.GradientStyleController(this.editorAPI);
|
|
153
|
-
this.paragraphStyle = new ParagraphStyleController.ParagraphStyleController(this.editorAPI);
|
|
154
|
-
this.characterStyle = new CharacterStyleController.CharacterStyleController(this.editorAPI);
|
|
155
|
-
this.mediaConnector = new MediaConnectorController.MediaConnectorController(this.editorAPI);
|
|
156
|
-
this.fontConnector = new FontConnectorController.FontConnectorController(this.editorAPI);
|
|
157
|
-
this.componentConnector = new ComponentConnectorController.ComponentConnectorController(this.editorAPI);
|
|
158
|
-
this.dataConnector = new DataConnectorController.DataConnectorController(this.editorAPI, this.dataItemMappingTools);
|
|
159
|
-
this.dataSource = new DataSourceController.DataSourceController(this.editorAPI, this.dataItemMappingTools);
|
|
160
|
-
this.connector = new ConnectorController.ConnectorController(this.editorAPI, this.localConfig);
|
|
161
|
-
this.variable = new VariableController.VariableController(this.editorAPI, this.dataItemMappingTools);
|
|
162
|
-
this.font = new FontController.FontController(this.editorAPI);
|
|
163
|
-
this.experiment = new ExperimentController.ExperimentController(this.editorAPI);
|
|
164
|
-
this.canvas = new CanvasController.CanvasController(this.editorAPI);
|
|
165
|
-
this.shape = new ShapeController.ShapeController(this.editorAPI);
|
|
166
|
-
this.colorConversion = new ColorConversionController.ColorConversionController(this.editorAPI);
|
|
167
|
-
this.info = new InfoController.InfoController();
|
|
168
|
-
this.clipboard = new ClipboardController.ClipboardController(this.editorAPI);
|
|
169
|
-
this.brandKit = new BrandKitController.BrandKitController(this.editorAPI, this);
|
|
170
|
-
this.componentGrid = new ComponentGridController.ComponentGridController(this.editorAPI);
|
|
153
|
+
this.action = this.toInstrumented(new ActionController.ActionController(this.editorAPI));
|
|
154
|
+
this.layout = this.toInstrumented(new LayoutController.LayoutController(this.editorAPI));
|
|
155
|
+
this.frame = this.toInstrumented(new FrameController.FrameController(this.editorAPI));
|
|
156
|
+
this.barcode = this.toInstrumented(new BarcodeController.BarcodeController(this.editorAPI));
|
|
157
|
+
this.component = this.toInstrumented(new ComponentController.ComponentController(this.editorAPI));
|
|
158
|
+
this.animation = this.toInstrumented(new AnimationController.AnimationController(this.editorAPI));
|
|
159
|
+
this.document = this.toInstrumented(new DocumentController.DocumentController(this.editorAPI));
|
|
160
|
+
this.configuration = this.toInstrumented(new LocalConfigurationDecorator.LocalConfigurationDecorator(this.editorAPI, this.localConfig));
|
|
161
|
+
this.utils = this.toInstrumented(new UtilsController.UtilsController(this.editorAPI, this.localConfig));
|
|
162
|
+
this.tool = this.toInstrumented(new ToolController.ToolController(this.editorAPI));
|
|
163
|
+
this.page = this.toInstrumented(new PageController.PageController(this.editorAPI));
|
|
164
|
+
this.debug = this.toInstrumented(new DebugController.DebugController(this.editorAPI));
|
|
165
|
+
this.undoManager = this.toInstrumented(new UndoManagerController.UndoManagerController(this.editorAPI, this));
|
|
166
|
+
this.textSelection = this.toInstrumented(new TextStyleController.TextStyleController(this.editorAPI));
|
|
167
|
+
this.colorStyle = this.toInstrumented(new ColorStyleController.ColorStyleController(this.editorAPI));
|
|
168
|
+
this.gradientStyle = this.toInstrumented(new GradientStyleController.GradientStyleController(this.editorAPI));
|
|
169
|
+
this.paragraphStyle = this.toInstrumented(new ParagraphStyleController.ParagraphStyleController(this.editorAPI));
|
|
170
|
+
this.characterStyle = this.toInstrumented(new CharacterStyleController.CharacterStyleController(this.editorAPI));
|
|
171
|
+
this.mediaConnector = this.toInstrumented(new MediaConnectorController.MediaConnectorController(this.editorAPI));
|
|
172
|
+
this.fontConnector = this.toInstrumented(new FontConnectorController.FontConnectorController(this.editorAPI));
|
|
173
|
+
this.componentConnector = this.toInstrumented(new ComponentConnectorController.ComponentConnectorController(this.editorAPI));
|
|
174
|
+
this.dataConnector = this.toInstrumented(new DataConnectorController.DataConnectorController(this.editorAPI, this.dataItemMappingTools));
|
|
175
|
+
this.dataSource = this.toInstrumented(new DataSourceController.DataSourceController(this.editorAPI, this.dataItemMappingTools));
|
|
176
|
+
this.connector = this.toInstrumented(new ConnectorController.ConnectorController(this.editorAPI, this.localConfig));
|
|
177
|
+
this.variable = this.toInstrumented(new VariableController.VariableController(this.editorAPI, this.dataItemMappingTools));
|
|
178
|
+
this.font = this.toInstrumented(new FontController.FontController(this.editorAPI));
|
|
179
|
+
this.experiment = this.toInstrumented(new ExperimentController.ExperimentController(this.editorAPI));
|
|
180
|
+
this.canvas = this.toInstrumented(new CanvasController.CanvasController(this.editorAPI));
|
|
181
|
+
this.shape = this.toInstrumented(new ShapeController.ShapeController(this.editorAPI));
|
|
182
|
+
this.colorConversion = this.toInstrumented(new ColorConversionController.ColorConversionController(this.editorAPI));
|
|
183
|
+
this.info = this.toInstrumented(new InfoController.InfoController());
|
|
184
|
+
this.clipboard = this.toInstrumented(new ClipboardController.ClipboardController(this.editorAPI));
|
|
185
|
+
this.brandKit = this.toInstrumented(new BrandKitController.BrandKitController(this.editorAPI, this));
|
|
186
|
+
this.componentGrid = this.toInstrumented(new ComponentGridController.ComponentGridController(this.editorAPI));
|
|
171
187
|
this.next = new NextInitiator.NextInitiator(this.config, this.connection, this.editorAPI);
|
|
188
|
+
this.applyMethodInstrumentation();
|
|
172
189
|
this.configuration.setValue(ConfigurationTypes.WellKnownConfigurationKeys.GraFxStudioSdkVersion, _package.default.version);
|
|
173
190
|
this.configuration.setValue(
|
|
174
191
|
ConfigurationTypes.WellKnownConfigurationKeys.GraFxStudioDocumentType,
|
|
@@ -177,54 +194,76 @@ class SDK {
|
|
|
177
194
|
this.configuration.updateStudioOptions(this.config.studioOptions || ConfigurationTypes.defaultStudioOptions);
|
|
178
195
|
this.configuration.setValue(
|
|
179
196
|
ConfigurationTypes.WellKnownConfigurationKeys.QueryCallCacheEnabled,
|
|
180
|
-
((
|
|
197
|
+
((_a2 = this.config.enableQueryCallCache) == null ? void 0 : _a2.toString()) || "false"
|
|
181
198
|
);
|
|
182
199
|
};
|
|
183
200
|
this.setConnection = (newConnection) => {
|
|
184
201
|
connection = newConnection;
|
|
185
202
|
};
|
|
203
|
+
this.toInstrumented = (controller) => {
|
|
204
|
+
markForInstrumentation(controller);
|
|
205
|
+
return controller;
|
|
206
|
+
};
|
|
207
|
+
this.applyMethodInstrumentation = () => {
|
|
208
|
+
var _a2;
|
|
209
|
+
const sdkProperties = this;
|
|
210
|
+
for (const propertyName of Object.keys(sdkProperties)) {
|
|
211
|
+
const value = sdkProperties[propertyName];
|
|
212
|
+
if (isPendingInstrumentation(value)) {
|
|
213
|
+
sdkProperties[propertyName] = MethodInstrumentation.wrapWithInvocationObserver(
|
|
214
|
+
value,
|
|
215
|
+
propertyName,
|
|
216
|
+
this.methodListeners,
|
|
217
|
+
this.sdkEvents,
|
|
218
|
+
(_a2 = this.config.logging) == null ? void 0 : _a2.logger
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
};
|
|
186
223
|
this.config = ConfigHelper.ConfigHelper.createRuntimeConfig(config);
|
|
224
|
+
this.sdkEvents = new SdkEvents.SdkEvents((_a = this.config.logging) == null ? void 0 : _a.logger);
|
|
187
225
|
this.connection = connection;
|
|
188
226
|
this.editorAPI = connection == null ? void 0 : connection.promise.then((child) => {
|
|
189
227
|
return child;
|
|
190
228
|
});
|
|
191
|
-
this.action = new ActionController.ActionController(this.editorAPI);
|
|
192
|
-
this.layout = new LayoutController.LayoutController(this.editorAPI);
|
|
193
|
-
this.frame = new FrameController.FrameController(this.editorAPI);
|
|
194
|
-
this.shape = new ShapeController.ShapeController(this.editorAPI);
|
|
195
|
-
this.barcode = new BarcodeController.BarcodeController(this.editorAPI);
|
|
196
|
-
this.component = new ComponentController.ComponentController(this.editorAPI);
|
|
197
|
-
this.undoManager = new UndoManagerController.UndoManagerController(this.editorAPI, this);
|
|
198
|
-
this.connector = new ConnectorController.ConnectorController(this.editorAPI, this.localConfig);
|
|
199
|
-
this.mediaConnector = new MediaConnectorController.MediaConnectorController(this.editorAPI);
|
|
200
|
-
this.fontConnector = new FontConnectorController.FontConnectorController(this.editorAPI);
|
|
201
|
-
this.componentConnector = new ComponentConnectorController.ComponentConnectorController(this.editorAPI);
|
|
202
|
-
this.dataConnector = new DataConnectorController.DataConnectorController(this.editorAPI, this.dataItemMappingTools);
|
|
203
|
-
this.dataSource = new DataSourceController.DataSourceController(this.editorAPI, this.dataItemMappingTools);
|
|
204
|
-
this.animation = new AnimationController.AnimationController(this.editorAPI);
|
|
205
|
-
this.document = new DocumentController.DocumentController(this.editorAPI);
|
|
206
|
-
this.configuration = new LocalConfigurationDecorator.LocalConfigurationDecorator(this.editorAPI, this.localConfig);
|
|
207
|
-
this.variable = new VariableController.VariableController(this.editorAPI, this.dataItemMappingTools);
|
|
208
|
-
this.utils = new UtilsController.UtilsController(this.editorAPI, this.localConfig);
|
|
229
|
+
this.action = this.toInstrumented(new ActionController.ActionController(this.editorAPI));
|
|
230
|
+
this.layout = this.toInstrumented(new LayoutController.LayoutController(this.editorAPI));
|
|
231
|
+
this.frame = this.toInstrumented(new FrameController.FrameController(this.editorAPI));
|
|
232
|
+
this.shape = this.toInstrumented(new ShapeController.ShapeController(this.editorAPI));
|
|
233
|
+
this.barcode = this.toInstrumented(new BarcodeController.BarcodeController(this.editorAPI));
|
|
234
|
+
this.component = this.toInstrumented(new ComponentController.ComponentController(this.editorAPI));
|
|
235
|
+
this.undoManager = this.toInstrumented(new UndoManagerController.UndoManagerController(this.editorAPI, this));
|
|
236
|
+
this.connector = this.toInstrumented(new ConnectorController.ConnectorController(this.editorAPI, this.localConfig));
|
|
237
|
+
this.mediaConnector = this.toInstrumented(new MediaConnectorController.MediaConnectorController(this.editorAPI));
|
|
238
|
+
this.fontConnector = this.toInstrumented(new FontConnectorController.FontConnectorController(this.editorAPI));
|
|
239
|
+
this.componentConnector = this.toInstrumented(new ComponentConnectorController.ComponentConnectorController(this.editorAPI));
|
|
240
|
+
this.dataConnector = this.toInstrumented(new DataConnectorController.DataConnectorController(this.editorAPI, this.dataItemMappingTools));
|
|
241
|
+
this.dataSource = this.toInstrumented(new DataSourceController.DataSourceController(this.editorAPI, this.dataItemMappingTools));
|
|
242
|
+
this.animation = this.toInstrumented(new AnimationController.AnimationController(this.editorAPI));
|
|
243
|
+
this.document = this.toInstrumented(new DocumentController.DocumentController(this.editorAPI));
|
|
244
|
+
this.configuration = this.toInstrumented(new LocalConfigurationDecorator.LocalConfigurationDecorator(this.editorAPI, this.localConfig));
|
|
245
|
+
this.variable = this.toInstrumented(new VariableController.VariableController(this.editorAPI, this.dataItemMappingTools));
|
|
246
|
+
this.utils = this.toInstrumented(new UtilsController.UtilsController(this.editorAPI, this.localConfig));
|
|
209
247
|
this.subscriber = new SubscriberController.SubscriberController(this.config, this.localConfig);
|
|
210
|
-
this.tool = new ToolController.ToolController(this.editorAPI);
|
|
211
|
-
this.page = new PageController.PageController(this.editorAPI);
|
|
212
|
-
this.debug = new DebugController.DebugController(this.editorAPI);
|
|
213
|
-
this.textSelection = new TextStyleController.TextStyleController(this.editorAPI);
|
|
214
|
-
this.colorStyle = new ColorStyleController.ColorStyleController(this.editorAPI);
|
|
215
|
-
this.gradientStyle = new GradientStyleController.GradientStyleController(this.editorAPI);
|
|
216
|
-
this.paragraphStyle = new ParagraphStyleController.ParagraphStyleController(this.editorAPI);
|
|
217
|
-
this.characterStyle = new CharacterStyleController.CharacterStyleController(this.editorAPI);
|
|
218
|
-
this.font = new FontController.FontController(this.editorAPI);
|
|
219
|
-
this.experiment = new ExperimentController.ExperimentController(this.editorAPI);
|
|
220
|
-
this.canvas = new CanvasController.CanvasController(this.editorAPI);
|
|
221
|
-
this.colorConversion = new ColorConversionController.ColorConversionController(this.editorAPI);
|
|
222
|
-
this.info = new InfoController.InfoController();
|
|
223
|
-
this.clipboard = new ClipboardController.ClipboardController(this.editorAPI);
|
|
248
|
+
this.tool = this.toInstrumented(new ToolController.ToolController(this.editorAPI));
|
|
249
|
+
this.page = this.toInstrumented(new PageController.PageController(this.editorAPI));
|
|
250
|
+
this.debug = this.toInstrumented(new DebugController.DebugController(this.editorAPI));
|
|
251
|
+
this.textSelection = this.toInstrumented(new TextStyleController.TextStyleController(this.editorAPI));
|
|
252
|
+
this.colorStyle = this.toInstrumented(new ColorStyleController.ColorStyleController(this.editorAPI));
|
|
253
|
+
this.gradientStyle = this.toInstrumented(new GradientStyleController.GradientStyleController(this.editorAPI));
|
|
254
|
+
this.paragraphStyle = this.toInstrumented(new ParagraphStyleController.ParagraphStyleController(this.editorAPI));
|
|
255
|
+
this.characterStyle = this.toInstrumented(new CharacterStyleController.CharacterStyleController(this.editorAPI));
|
|
256
|
+
this.font = this.toInstrumented(new FontController.FontController(this.editorAPI));
|
|
257
|
+
this.experiment = this.toInstrumented(new ExperimentController.ExperimentController(this.editorAPI));
|
|
258
|
+
this.canvas = this.toInstrumented(new CanvasController.CanvasController(this.editorAPI));
|
|
259
|
+
this.colorConversion = this.toInstrumented(new ColorConversionController.ColorConversionController(this.editorAPI));
|
|
260
|
+
this.info = this.toInstrumented(new InfoController.InfoController());
|
|
261
|
+
this.clipboard = this.toInstrumented(new ClipboardController.ClipboardController(this.editorAPI));
|
|
224
262
|
this.next = new NextInitiator.NextInitiator(this.config, this.connection, this.editorAPI);
|
|
225
263
|
this.enabledNextSubscribers = this.config.enableNextSubscribers;
|
|
226
|
-
this.brandKit = new BrandKitController.BrandKitController(this.editorAPI, this);
|
|
227
|
-
this.componentGrid = new ComponentGridController.ComponentGridController(this.editorAPI);
|
|
264
|
+
this.brandKit = this.toInstrumented(new BrandKitController.BrandKitController(this.editorAPI, this));
|
|
265
|
+
this.componentGrid = this.toInstrumented(new ComponentGridController.ComponentGridController(this.editorAPI));
|
|
266
|
+
this.applyMethodInstrumentation();
|
|
228
267
|
}
|
|
229
268
|
}
|
|
230
269
|
exports.SDK = SDK;
|