@next-bricks/visual-builder 0.10.0 → 0.10.2

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.
Files changed (31) hide show
  1. package/dist/bricks.json +11 -11
  2. package/dist/chunks/{2907.11d0dbea.js → 2907.0e8f14c1.js} +2 -2
  3. package/dist/chunks/2907.0e8f14c1.js.map +1 -0
  4. package/dist/chunks/{4231.2f0248a8.js → 4231.88a4110c.js} +3 -3
  5. package/dist/chunks/4231.88a4110c.js.map +1 -0
  6. package/dist/chunks/{main.dbc7b426.js → main.7e1dad3b.js} +2 -2
  7. package/dist/chunks/{main.dbc7b426.js.map → main.7e1dad3b.js.map} +1 -1
  8. package/dist/chunks/workbench-action-list.ef513e74.js.map +1 -1
  9. package/dist/chunks/workbench-action.ef8405ae.js.map +1 -1
  10. package/dist/chunks/workbench-history-action.b0ef1ad1.js +3 -0
  11. package/dist/chunks/workbench-history-action.b0ef1ad1.js.map +1 -0
  12. package/dist/chunks/workbench-pane.1d7fd227.js.map +1 -1
  13. package/dist/chunks/workbench-sidebar.a0a3f271.js.map +1 -1
  14. package/dist/chunks/workbench-tree.168fb4df.js.map +1 -1
  15. package/dist/{index.e5aa193d.js → index.1f88f6e0.js} +2 -2
  16. package/dist/{index.e5aa193d.js.map → index.1f88f6e0.js.map} +1 -1
  17. package/dist/manifest.json +74 -64
  18. package/dist/types.json +13 -13
  19. package/dist-types/workbench-action/index.d.ts +3 -0
  20. package/dist-types/workbench-action-list/index.d.ts +3 -0
  21. package/dist-types/workbench-history-action/index.d.ts +1 -0
  22. package/dist-types/workbench-pane/index.d.ts +3 -0
  23. package/dist-types/workbench-sidebar/index.d.ts +3 -0
  24. package/dist-types/workbench-tree/index.d.ts +1 -0
  25. package/package.json +3 -3
  26. package/dist/chunks/2907.11d0dbea.js.map +0 -1
  27. package/dist/chunks/4231.2f0248a8.js.map +0 -1
  28. package/dist/chunks/workbench-history-action.befdf83a.js +0 -3
  29. package/dist/chunks/workbench-history-action.befdf83a.js.map +0 -1
  30. /package/dist/chunks/{4231.2f0248a8.js.LICENSE.txt → 4231.88a4110c.js.LICENSE.txt} +0 -0
  31. /package/dist/chunks/{workbench-history-action.befdf83a.js.LICENSE.txt → workbench-history-action.b0ef1ad1.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/2907.11d0dbea.js","mappings":"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","sources":["webpack:///./src/data-providers/collect-used-contracts.ts","webpack:///./src/data-providers/preview/inspector.ts","webpack:///./src/data-providers/preview/capture.ts","webpack:///./src/data-providers/preview/resizeScreenshot.ts","webpack:///./src/data-providers/preview/realTimeDataInspect.ts","webpack:///./src/data-providers/preview/connect.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/general\";\nimport {\n type StoryboardNode,\n parseStoryboard,\n traverse,\n} from \"@next-core/storyboard\";\nimport {\n Storyboard,\n UseProviderResolveConf,\n UseProviderEventHandler,\n} from \"@next-core/types\";\n\nfunction collect(nodeOrNodes: StoryboardNode | StoryboardNode[]): Set<string> {\n const collection = new Set<string>();\n\n traverse(nodeOrNodes, (node) => {\n switch (node.type) {\n case \"Resolvable\":\n case \"EventHandler\": {\n const useProvider = (\n node.raw as UseProviderResolveConf | UseProviderEventHandler\n )?.useProvider;\n if (useProvider) {\n collection.add(useProvider);\n }\n }\n }\n });\n\n return collection;\n}\n\nexport function collectUsedContracts(storyboard: Storyboard): string[] {\n const collection = collect(parseStoryboard(storyboard as any));\n\n const contracts = [];\n\n for (const item of collection) {\n if (item.includes(\"@\")) {\n contracts.push(item);\n }\n }\n\n return contracts;\n}\n\ncustomElements.define(\n \"visual-builder.collect-used-contracts\",\n createProviderClass(collectUsedContracts)\n);\n","// istanbul ignore file: working in progress\n// https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-devtools-shared/src/backend/views/Highlighter/index.js\nimport { throttle } from \"lodash\";\nimport type {\n PreviewMessagePreviewerHoverOnBrick,\n PreviewMessagePreviewerSelectBrick,\n PreviewMessagePreviewerContextMenuOnBrick,\n} from \"./interfaces.js\";\n\nexport let previewProxyOrigin: string;\n\nexport function setPreviewFromOrigin(origin: string): void {\n previewProxyOrigin = origin;\n}\n\nexport function startInspecting(): void {\n registerListeners();\n}\n\nexport function stopInspecting(): void {\n unregisterListeners();\n}\n\nfunction registerListeners(): void {\n window.addEventListener(\"click\", onClick, true);\n window.addEventListener(\"mousedown\", onMouseEvent, true);\n window.addEventListener(\"mouseover\", onMouseEvent, true);\n window.addEventListener(\"mouseup\", onMouseEvent, true);\n window.addEventListener(\"pointerdown\", onPointerDown, true);\n window.addEventListener(\"pointerover\", onPointerOver, true);\n window.addEventListener(\"pointerup\", onMouseEvent, true);\n window.addEventListener(\"pointerleave\", onPointerLeave, true);\n window.addEventListener(\"contextmenu\", onContextMenu, true);\n}\n\nfunction unregisterListeners(): void {\n window.removeEventListener(\"click\", onClick, true);\n window.removeEventListener(\"mousedown\", onMouseEvent, true);\n window.removeEventListener(\"mouseover\", onMouseEvent, true);\n window.removeEventListener(\"mouseup\", onMouseEvent, true);\n window.removeEventListener(\"pointerdown\", onPointerDown, true);\n window.removeEventListener(\"pointerover\", onPointerOver, true);\n window.removeEventListener(\"pointerup\", onMouseEvent, true);\n window.removeEventListener(\"pointerleave\", onPointerLeave, true);\n window.removeEventListener(\"contextmenu\", onContextMenu, true);\n}\n\nfunction onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n selectBrick(event.target as HTMLElement);\n}\n\nfunction onMouseEvent(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst hoverOnBrick = throttle(\n (e: MouseEvent) => {\n const brick = e.target as HTMLElement;\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList,\n } as PreviewMessagePreviewerHoverOnBrick,\n previewProxyOrigin\n );\n }\n },\n 100,\n { leading: false }\n);\n\nfunction onPointerDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event);\n}\n\nfunction onPointerOver(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event);\n}\n\nfunction onPointerLeave(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList: [],\n } as PreviewMessagePreviewerHoverOnBrick,\n previewProxyOrigin\n );\n}\n\nfunction onContextMenu(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n contextMenuOnBrick(event.target as HTMLElement, {\n x: event.clientX,\n y: event.clientY,\n });\n}\n\nfunction contextMenuOnBrick(\n brick: HTMLElement,\n position: {\n x: number;\n y: number;\n }\n): void {\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"context-menu-on-brick\",\n iidList,\n position,\n } as PreviewMessagePreviewerContextMenuOnBrick,\n previewProxyOrigin\n );\n }\n}\n\nfunction selectBrick(brick: HTMLElement): void {\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"select-brick\",\n iidList,\n } as PreviewMessagePreviewerSelectBrick,\n previewProxyOrigin\n );\n }\n}\n\nexport function getPossibleBrickIidList(brick: HTMLElement): string[] {\n const iidList: string[] = [];\n // Traverse from bottom to up, to find bricks current hover on.\n let cursor: HTMLElement | null = brick;\n while (cursor) {\n if (typeof cursor.dataset.iid === \"string\") {\n iidList.push(cursor.dataset.iid);\n }\n cursor = cursor.parentElement;\n }\n return iidList;\n}\n","// istanbul ignore file: nothing logical except calling html2canvas.\nimport html2canvas from \"html2canvas\";\nimport { resizeScreenshot } from \"./resizeScreenshot.js\";\n\nfunction getCanvasBlob(canvas: HTMLCanvasElement): Promise<Blob> {\n return new Promise(function (resolve, reject) {\n canvas.toBlob(function (blob: Blob | null) {\n if (blob) {\n resolve(blob);\n } else {\n reject();\n }\n });\n });\n}\n\nexport async function capture(\n maxWidth: number,\n maxHeight: number\n): Promise<Blob> {\n const sourceCanvas = await html2canvas(document.body, {\n logging: false,\n scale: 1,\n width: window.innerWidth,\n height: window.innerHeight,\n foreignObjectRendering: true,\n });\n const targetCanvas = document.createElement(\"canvas\");\n resizeScreenshot(sourceCanvas, targetCanvas, maxWidth, maxHeight);\n const blob = await getCanvasBlob(targetCanvas);\n return blob;\n}\n","export function resizeScreenshot(\n canvas: HTMLCanvasElement,\n targetCanvas: HTMLCanvasElement,\n maxWidth: number,\n maxHeight: number\n): string {\n const targetRatio = maxWidth / maxHeight;\n const { width, height } = canvas;\n const ratio = width / height;\n const wider = ratio >= targetRatio;\n const finalWidth = wider ? maxWidth : maxHeight * ratio;\n const finalHeight = wider ? maxWidth / ratio : maxHeight;\n targetCanvas.width = finalWidth;\n targetCanvas.height = finalHeight;\n\n const ctx = targetCanvas.getContext(\"2d\")!;\n ctx.drawImage(canvas, 0, 0, width, height, 0, 0, finalWidth, finalHeight);\n return targetCanvas.toDataURL();\n}\n","export function getRealTimeDataAnnotation(value: unknown) {\n const type = typeof value;\n switch (type) {\n case \"string\":\n case \"boolean\":\n case \"number\":\n return {\n type,\n value,\n };\n case \"undefined\":\n return { type };\n }\n if (value === null) {\n return { type: \"null\" };\n }\n if (Array.isArray(value)) {\n return { type: \"array\", length: value.length };\n }\n return { type: \"object\" };\n}\n","import {\n getHistory as _getHistory,\n getBasePath,\n matchPath as _matchPath,\n __secret_internals as _internals,\n type NextLocation,\n} from \"@next-core/runtime\";\nimport type { BrickConf, CustomTemplate, RouteConf } from \"@next-core/types\";\nimport { isEmpty, throttle } from \"lodash\";\nimport type {\n BrickOutline,\n HighLightNode,\n Position,\n PreviewDataOption,\n PreviewMessageFromPreviewer,\n PreviewMessagePreviewContractUpdate,\n PreviewMessagePreviewDataValueError,\n PreviewMessagePreviewDataValueSuccess,\n PreviewMessagePreviewerCaptureFailed,\n PreviewMessagePreviewerCaptureOk,\n PreviewMessagePreviewerContentScroll,\n PreviewMessagePreviewerHighlightBrick,\n PreviewMessagePreviewerHighlightContext,\n PreviewMessagePreviewerHoverOnMain,\n PreviewMessagePreviewerRealTimeDataInspectChange,\n PreviewMessagePreviewerRouteMatchChange,\n PreviewMessagePreviewerScroll,\n PreviewMessagePreviewerUrlChange,\n PreviewMessageToPreviewer,\n PreviewSettings,\n PreviewStartOptions,\n} from \"./interfaces.js\";\nimport { capture } from \"./capture.js\";\nimport {\n previewProxyOrigin,\n getPossibleBrickIidList,\n setPreviewFromOrigin,\n startInspecting,\n stopInspecting,\n} from \"./inspector.js\";\nimport { collectUsedContracts } from \"../collect-used-contracts.js\";\nimport { getRealTimeDataAnnotation } from \"./realTimeDataInspect.js\";\n\nlet connected = false;\n\ninterface DLL {\n (moduleId: \"tYg3\"): {\n getHistory: typeof _getHistory;\n developHelper: typeof _internals;\n };\n (moduleId: \"A+yw\"): {\n matchPath: typeof _matchPath;\n };\n}\n\nlet getHistory = _getHistory;\nlet matchPath = _matchPath;\nlet __secret_internals = _internals;\nlet isV2 = false;\n\n// istanbul ignore next\n// Make v3 bricks compatible with Brick Next v2.\ntry {\n const dll = (window as unknown as { dll?: DLL }).dll;\n if (\n dll &&\n window.BRICK_NEXT_VERSIONS?.[\"brick-container\"]?.startsWith(\"2.\")\n ) {\n const { getHistory: getHistoryV2, developHelper: developHelperV2 } =\n dll(\"tYg3\");\n const { matchPath: matchPathV2 } = dll(\"A+yw\");\n getHistory = getHistoryV2;\n matchPath = matchPathV2;\n // The `__secret_internals` of v3 has pretty the same API as\n // `developHelper` of v2, especially those for preview usage.\n __secret_internals = {\n ...developHelperV2,\n getContextValue(name, { tplStateStoreId }) {\n return developHelperV2.getContextValue(name, {\n tplContextId: tplStateStoreId,\n } as any);\n },\n getAllContextValues({ tplStateStoreId }) {\n // V3 returns an object of key-value.\n // While v2 returns a map of ContextItem.\n const v2Map = developHelperV2.getAllContextValues({\n tplContextId: tplStateStoreId,\n } as any) as unknown as Map<string, { value: unknown }>;\n return Object.fromEntries(\n [...v2Map].map(([k, v]) => [k, (v as any).value])\n );\n },\n };\n isV2 = true;\n }\n} catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Try to use v2 runtime APIs failed:\", e);\n}\n\nlet contentScrollElement: Element | null = null;\nlet contentScrollHost: Element | null = null;\n\nexport default async function connect(\n previewFromOrigin: string,\n options: PreviewStartOptions\n) {\n if (connected) {\n return;\n }\n connected = true;\n\n const sendMessage = <T extends PreviewMessageFromPreviewer>(\n message: Omit<T, \"sender\">\n ): void => {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n ...message,\n },\n previewFromOrigin\n );\n };\n\n sendMessage({ type: \"preview-started\" });\n setPreviewFromOrigin(previewFromOrigin);\n\n let hoverIid: string;\n let hoverAlias: string;\n let activeIid: string;\n let activeAlias: string;\n\n const handleHoverOnIframe = (pos: Position): void => {\n const element = document.elementFromPoint(pos.x, pos.y);\n if (element?.tagName === \"BODY\") {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-main\",\n isDirection: true,\n position: {\n x: pos.x,\n y: pos.y,\n },\n } as PreviewMessagePreviewerHoverOnMain,\n previewProxyOrigin\n );\n } else {\n const iidList = getPossibleBrickIidList(element as HTMLElement);\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList,\n isDirection: true,\n position: {\n x: pos.x,\n y: pos.y,\n },\n },\n previewProxyOrigin\n );\n }\n };\n\n const sendHighlightBrickOutlines = (\n type: \"hover\" | \"active\",\n iid: string,\n alias: string\n ): void => {\n const outlines = getBrickOutlines(iid);\n sendMessage<PreviewMessagePreviewerHighlightBrick>({\n type: \"highlight-brick\",\n highlightType: type,\n outlines,\n iid: iid,\n alias: alias,\n });\n };\n\n const sendHighlightBricksOutlines = (nodes: HighLightNode[]): void => {\n const outlines = nodes\n .map((node) => getBrickOutlines(node.iid, node.alias))\n .flat();\n sendMessage<PreviewMessagePreviewerHighlightContext>({\n type: \"highlight-context\",\n outlines,\n });\n };\n\n let lastTemplatePreviewSettings: PreviewSettings | undefined;\n if (options.templateId) {\n lastTemplatePreviewSettings = options.settings;\n }\n\n const updateTemplatePreviewSettings = (): void => {\n __secret_internals.updateTemplatePreviewSettings(\n options.appId,\n options.templateId!,\n lastTemplatePreviewSettings\n );\n getHistory().reload();\n };\n\n const updateSnippetPreviewSettings = (): void => {\n __secret_internals.updateSnippetPreviewSettings(\n options.appId,\n JSON.parse(options.snippetData)\n );\n getHistory().reload();\n };\n\n /* const updateFormPreviewSettings = (): void => {\n __secret_internals.updateFormPreviewSettings(\n options.appId,\n options.formId,\n options.formData\n );\n getHistory().reload();\n }; */\n\n const handlePreviewData = (name: string, option: PreviewDataOption): void => {\n try {\n const { dataType } = option;\n let tplStateStoreId;\n\n if (dataType === \"state\") {\n tplStateStoreId = getRootTplStateStoreId();\n\n if (!tplStateStoreId) {\n sendMessage<PreviewMessagePreviewDataValueError>({\n type: \"inspect-data-value-error\",\n data: {\n error: {\n message:\n \"tplStateStoreId not found, unable to preview STATE value\",\n },\n },\n });\n\n return;\n }\n }\n\n let value, type: PreviewMessagePreviewDataValueSuccess[\"type\"];\n if (name) {\n type = \"inspect-single-data-value-success\";\n value = __secret_internals.getContextValue(name, {\n tplStateStoreId,\n });\n } else {\n type = \"inspect-all-data-values-success\";\n const data = __secret_internals.getAllContextValues({\n tplStateStoreId,\n });\n value = Object.entries(data).map(([name, value]) => ({ name, value }));\n }\n\n sendMessage<PreviewMessagePreviewDataValueSuccess>({\n type,\n data: {\n name,\n value,\n },\n });\n\n // istanbul ignore next\n } catch (error) {\n sendMessage<PreviewMessagePreviewDataValueError>({\n type: \"inspect-data-value-error\",\n data: {\n message: (error as Error).message,\n },\n });\n }\n };\n\n const history = getHistory();\n\n window.addEventListener(\n \"message\",\n async ({ data, origin }: MessageEvent<PreviewMessageToPreviewer>) => {\n if (\n origin !== previewFromOrigin ||\n !data ||\n data.sender !== \"preview-container\"\n ) {\n return;\n }\n if (data.forwardedFor === \"builder\") {\n switch (data.type) {\n case \"hover-on-brick\":\n hoverIid = data.iid;\n hoverAlias = data.alias;\n sendHighlightBrickOutlines(\"hover\", data.iid, data.alias);\n break;\n case \"hover-on-main\":\n sendHighlightBrickOutlines(\"hover\", \"#main-mount-point\", \"root\");\n break;\n case \"hover-on-context\":\n sendHighlightBricksOutlines(data.highlightNodes);\n break;\n case \"select-brick\":\n activeIid = data.iid;\n activeAlias = data.alias;\n sendHighlightBrickOutlines(\"active\", data.iid, data.alias);\n break;\n case \"hover-on-iframe\":\n handleHoverOnIframe(data.position);\n break;\n }\n } else\n switch (data.type) {\n case \"toggle-inspecting\":\n data.enabled ? startInspecting() : stopInspecting();\n break;\n case \"refresh\":\n if (data.options?.updateStoryboardType) {\n if (data.options.updateStoryboardType === \"route\") {\n __secret_internals.updateStoryboardByRoute(\n options.appId,\n data.storyboardPatch as RouteConf\n );\n } else if (data.options.updateStoryboardType === \"template\") {\n __secret_internals.updateStoryboardByTemplate(\n options.appId,\n data.storyboardPatch as CustomTemplate,\n data.options.settings\n );\n } else if (data.options.updateStoryboardType === \"snippet\") {\n __secret_internals.updateStoryboardBySnippet(\n options.appId,\n data.storyboardPatch as {\n snippetId: string;\n bricks: BrickConf[];\n }\n );\n } /* else if (data.options.updateStoryboardType === \"form\") {\n __secret_internals.updateFormPreviewSettings(\n options.appId,\n options.formId,\n data.storyboardPatch as FormDataProperties\n );\n } */\n\n const newContracts = await (\n __secret_internals as any\n ).getAddedContracts?.(data.storyboardPatch, {\n appId: options.appId,\n updateStoryboardType: data.options.updateStoryboardType,\n formId: options.formId,\n collectUsedContracts,\n });\n\n if (!isEmpty(newContracts)) {\n sendMessage<PreviewMessagePreviewContractUpdate>({\n type: \"contract-update\",\n data: {\n add: newContracts,\n },\n });\n } else {\n getHistory().reload();\n }\n\n break;\n }\n __secret_internals.updateStoryboard(\n options.appId,\n data.storyboardPatch\n );\n if (options.templateId) {\n lastTemplatePreviewSettings = data.settings;\n updateTemplatePreviewSettings();\n } /* else if (options.formId || options.formData) {\n updateFormPreviewSettings();\n } */ else if (data.options?.snippetData) {\n options.snippetData = data.options.snippetData;\n updateSnippetPreviewSettings();\n } else {\n getHistory().reload();\n }\n break;\n case \"reload\":\n location.reload();\n break;\n case \"back\":\n history.goBack();\n break;\n case \"forward\":\n history.goForward();\n break;\n case \"capture\":\n capture(data.maxWidth, data.maxHeight).then(\n (screenshot) => {\n sendMessage<PreviewMessagePreviewerCaptureOk>({\n type: \"capture-ok\",\n screenshot,\n });\n },\n () => {\n sendMessage<PreviewMessagePreviewerCaptureFailed>({\n type: \"capture-failed\",\n });\n }\n );\n break;\n case \"inspect-data-value\":\n handlePreviewData(data.name, data.option);\n break;\n case \"update-preview-url\": {\n // Remove origin first.\n const url = data.previewUrl.startsWith(window.origin)\n ? data.previewUrl.substring(window.origin.length)\n : data.previewUrl;\n // Then remove base path.\n const basePath = getBasePath();\n const to = url.startsWith(basePath)\n ? url.substring(basePath.length - 1)\n : url;\n getHistory().push(to);\n break;\n }\n case \"update-preview-route\": {\n options.routePath = data.routePath;\n options.routeExact = data.routeExact;\n syncRouteMatch();\n break;\n }\n /* case \"excute-proxy-method\": {\n const [ref, method, args = []] = data.proxyMethodArgs;\n try {\n const result = document.body.querySelector(ref)[method](...args);\n window.parent.postMessage({\n sender: \"previewer\",\n type: \"excute-proxy-method-success\",\n data: { method: method, res: result },\n });\n } catch (err) {\n window.parent.postMessage({\n sender: \"previewer\",\n type: \"excute-proxy-method-error\",\n data: { method: method, res: err.message },\n });\n }\n break;\n } */\n }\n }\n );\n\n window.addEventListener(\"scroll\", () => {\n sendMessage<PreviewMessagePreviewerScroll>({\n type: \"scroll\",\n scroll: {\n x: window.scrollX,\n y: window.scrollY,\n },\n });\n });\n\n let previewPageMatch = true;\n let currentLocation: NextLocation;\n const sendLocationChange = (loc: NextLocation): void => {\n sendMessage<PreviewMessagePreviewerUrlChange>({\n type: \"url-change\",\n url: location.origin + history.createHref(loc),\n });\n currentLocation = loc;\n syncRouteMatch();\n };\n\n function syncRouteMatch() {\n if (options.routePath) {\n const match = !!matchPath(currentLocation.pathname, {\n path: options.routePath,\n exact: options.routeExact,\n });\n sendMessage<PreviewMessagePreviewerRouteMatchChange>({\n type: \"route-match-change\",\n match,\n });\n\n // Re-update template preview settings once match route again (typically after login).\n if (options.templateId && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild!.childNodes.length === 0\n ) {\n updateTemplatePreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n }\n /* if (options.formId && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\");\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild.childNodes.length === 0\n ) {\n updateFormPreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n } */\n if (options.snippetData && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild!.childNodes.length === 0\n ) {\n updateSnippetPreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n }\n previewPageMatch = match;\n }\n }\n\n sendLocationChange(history.location);\n\n history.listen(sendLocationChange);\n\n if (options.templateId) {\n updateTemplatePreviewSettings();\n }\n\n /* if (options.formId || options.formData) {\n updateFormPreviewSettings();\n } */\n\n if (options.snippetData) {\n updateSnippetPreviewSettings();\n }\n\n function setupContentScroll() {\n const host = document.querySelector(\"eo-page-view\");\n const element = host?.shadowRoot?.querySelector(\".content\") ?? null;\n if (element !== contentScrollElement) {\n contentScrollElement?.removeEventListener(\"scroll\", onContentScroll);\n element?.addEventListener(\"scroll\", onContentScroll);\n contentScrollElement = element;\n contentScrollHost = host;\n }\n }\n\n function onContentScroll(this: Element) {\n sendMessage<PreviewMessagePreviewerContentScroll>({\n type: \"content-scroll\",\n scroll: {\n x: this.scrollLeft,\n y: this.scrollTop,\n },\n });\n }\n\n __secret_internals.addRealTimeDataInspectHook?.(\n ({ changeType, tplStateStoreId, detail }) => {\n sendMessage<PreviewMessagePreviewerRealTimeDataInspectChange>({\n type: \"real-time-data-inspect-change\",\n changeType,\n tplStateStoreId,\n detail:\n changeType === \"update\"\n ? {\n name: detail.name,\n annotation: getRealTimeDataAnnotation(detail.value),\n }\n : {\n data: Object.fromEntries(\n Object.entries(detail.data).map(([k, v]) => [\n k,\n getRealTimeDataAnnotation(v),\n ])\n ),\n },\n });\n }\n );\n\n let memoizedRootTplStateStoreId: string | undefined = \"?\";\n\n function setupRealTimeDataInspect() {\n const tplStateStoreId = options.templateId\n ? getRootTplStateStoreId()\n : undefined;\n if (memoizedRootTplStateStoreId !== tplStateStoreId) {\n memoizedRootTplStateStoreId = tplStateStoreId;\n __secret_internals.setRealTimeDataInspectRoot?.({\n tplStateStoreId,\n });\n }\n }\n\n setupContentScroll();\n setupRealTimeDataInspect();\n\n const mutationCallback = (): void => {\n setupContentScroll();\n setupRealTimeDataInspect();\n if (hoverIid) {\n sendHighlightBrickOutlines(\"hover\", hoverIid, hoverAlias);\n }\n if (activeIid) {\n sendHighlightBrickOutlines(\"active\", activeIid, activeAlias);\n }\n };\n const mutationObserver = new MutationObserver(\n throttle(mutationCallback, 100, { leading: false })\n );\n mutationObserver.observe(document.body, { subtree: true, childList: true });\n}\n\nfunction getBrickOutlines(iid: string, alias?: string): BrickOutline[] {\n if (!iid) {\n return [];\n }\n const isRoot = iid.includes(\"#\");\n const elements = document.querySelectorAll<HTMLElement>(\n isRoot ? iid : `[data-iid=\"${iid}\"]`\n );\n const outlines = getOutlines(elements, alias);\n return isRoot\n ? outlines.map((item) => ({\n ...item,\n height: window.innerHeight - item.top,\n }))\n : outlines;\n}\n\nfunction getOutlines(\n elements: NodeListOf<HTMLElement>,\n alias?: string\n): BrickOutline[] {\n return [...elements].map((element) => {\n const hasContentScroll = contentScrollHost?.contains(element);\n const { width, height, left, top } = element.getBoundingClientRect();\n return {\n width,\n height,\n left:\n left +\n window.scrollX +\n (hasContentScroll ? contentScrollElement.scrollLeft : 0),\n top:\n top +\n window.scrollY +\n (hasContentScroll ? contentScrollElement.scrollTop : 0),\n alias,\n hasContentScroll,\n };\n });\n}\n\nfunction getRootTplStateStoreId(): string | undefined {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n\n return (mainMountPoint?.firstChild as HTMLElement)?.dataset[\n isV2 ? \"tplContextId\" : \"tplStateStoreId\"\n ];\n}\n"],"names":["collectUsedContracts","storyboard","collection","nodeOrNodes","Set","traverse","node","type","_node$raw","useProvider","raw","add","collect","parseStoryboard","contracts","item","includes","push","customElements","define","createProviderClass","previewProxyOrigin","_capture","_asyncToGenerator","maxWidth","maxHeight","canvas","sourceCanvas","html2canvas","document","body","logging","scale","width","window","innerWidth","height","innerHeight","foreignObjectRendering","targetCanvas","createElement","targetRatio","ratio","wider","finalWidth","finalHeight","getContext","drawImage","toDataURL","resizeScreenshot","Promise","resolve","reject","toBlob","blob","apply","arguments","onClick","event","iidList","preventDefault","stopPropagation","getPossibleBrickIidList","target","length","parent","postMessage","sender","onMouseEvent","hoverOnBrick","throttle","e","leading","onPointerDown","onPointerOver","onPointerLeave","onContextMenu","brick","position","x","clientX","y","clientY","cursor","dataset","iid","parentElement","getRealTimeDataAnnotation","value","Array","isArray","connected","getHistory","_getHistory","matchPath","_matchPath","__secret_internals","_internals","isV2","_window$BRICK_NEXT_VE","dll","BRICK_NEXT_VERSIONS","startsWith","getHistoryV2","developHelper","developHelperV2","matchPathV2","_objectSpread","getContextValue","name","_ref","tplStateStoreId","tplContextId","getAllContextValues","_ref2","v2Map","Object","fromEntries","map","_ref3","k","v","console","error","contentScrollElement","contentScrollHost","connect","_x","_x2","_connect","previewFromOrigin","options","_secret_internals$ad","_secret_internals","hoverIid","hoverAlias","activeIid","activeAlias","sendMessage","message","lastTemplatePreviewSettings","sendHighlightBrickOutlines","alias","outlines","getBrickOutlines","highlightType","templateId","settings","updateTemplatePreviewSettings","appId","reload","updateSnippetPreviewSettings","JSON","parse","snippetData","history","addEventListener","_ref6","_ref5","_data$options","_data$options2","data","origin","forwardedFor","highlightNodes","flat","pos","element","elementFromPoint","tagName","isDirection","handleHoverOnIframe","enabled","removeEventListener","updateStoryboardType","_getAddedContracts","_ref7","updateStoryboardByRoute","storyboardPatch","updateStoryboardByTemplate","updateStoryboardBySnippet","newContracts","getAddedContracts","call","formId","isEmpty","updateStoryboard","location","goBack","goForward","capture","then","screenshot","handlePreviewData","option","dataType","getRootTplStateStoreId","entries","_ref4","url","previewUrl","substring","basePath","getBasePath","to","routePath","routeExact","syncRouteMatch","_x3","scroll","scrollX","scrollY","currentLocation","previewPageMatch","sendLocationChange","loc","createHref","listen","addRealTimeDataInspectHook","_ref8","changeType","detail","annotation","_ref9","memoizedRootTplStateStoreId","setupContentScroll","setupRealTimeDataInspect","MutationObserver","mutationCallback","observe","subtree","childList","match","pathname","path","exact","mainMountPoint","querySelector","placeholderLoadObserver","childNodes","firstChild","disconnect","_host$shadowRoot$quer","_host$shadowRoot","_contentScrollElement","host","shadowRoot","onContentScroll","this","scrollLeft","scrollTop","_secret_internals$se","_secret_internals2","undefined","setRealTimeDataInspectRoot","isRoot","elements","_contentScrollHost","hasContentScroll","contains","left","top","getBoundingClientRect","getOutlines","querySelectorAll","concat","_mainMountPoint$first"],"sourceRoot":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/4231.2f0248a8.js","mappings":"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","sources":["webpack:///./src/workbench-pane/index.tsx","webpack:///../../src/debounceByAnimationFrame.ts","webpack:///./src/workbench-sidebar/index.tsx","webpack:///./src/workbench-action/index.tsx","webpack:///../../src/menu.ts","webpack:///./src/workbench-action-list/index.tsx","webpack:///./src/workbench-tree/index.tsx","webpack:///./src/data-providers/inject-preview-agent.ts","webpack:///./src/workbench-history-action/i18n.ts","webpack:///../../node_modules/@next-api-sdk/next-builder-sdk/dist/esm/api/next_builder/workspace/getChangeHistory.js","webpack:///./src/workbench-history-action/utils.ts","webpack:///./src/workbench-history-action/index.tsx","webpack:///./src/shared/scrollbar.shadow.css","webpack:///./src/workbench-action-list/workbench-action-list.shadow.css","webpack:///./src/workbench-action/workbench-action.shadow.css","webpack:///./src/workbench-history-action/styles.shadow.css","webpack:///./src/workbench-pane/workbench-pane.shadow.css","webpack:///./src/workbench-sidebar/workbench-sidebar.shadow.css"],"sourcesContent":["import React, {\n useEffect,\n useRef,\n useState,\n useCallback,\n useMemo,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport styleText from \"./workbench-pane.shadow.css\";\nimport sharedStyle from \"../shared/scrollbar.shadow.css\";\nimport { debounceByAnimationFrame } from \"@next-shared/general/debounceByAnimationFrame\";\nimport classNames from \"classnames\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface WorkbenchPaneProps {\n titleLabel?: string;\n active?: boolean;\n badge?: number;\n onActiveChange?(active: boolean): void;\n onFirstActivated?(): void;\n}\n\n@defineElement(\"visual-builder.workbench-pane\", {\n styleTexts: [styleText, sharedStyle],\n})\nclass WorkbenchPane extends ReactNextElement {\n @property() accessor titleLabel: string | undefined;\n\n @property({ type: Boolean }) accessor active: boolean | undefined;\n\n @property({ type: Number }) accessor badge: number | undefined;\n\n @event({ type: \"active.change\" })\n accessor #activeChangeEvent: EventEmitter<boolean>;\n #handleActiveChange = (active: boolean): void => {\n if (active !== this.active) {\n this.active = active;\n this.#activeChangeEvent.emit(active);\n }\n };\n\n @event({ type: \"active.firstActivated\" })\n accessor #activeFirstActivatedEvent: EventEmitter<void>;\n\n #handleActiveFirstActivated = (): void => {\n this.#activeFirstActivatedEvent.emit();\n };\n\n render() {\n return (\n <WorkbenchPaneComponent\n titleLabel={this.titleLabel}\n active={this.active}\n badge={this.badge}\n onActiveChange={this.#handleActiveChange}\n onFirstActivated={this.#handleActiveFirstActivated}\n />\n );\n }\n}\n\nfunction WorkbenchPaneComponent({\n titleLabel,\n active,\n badge,\n onActiveChange,\n onFirstActivated,\n}: WorkbenchPaneProps) {\n const [internalActive, setInternalActive] = useState<boolean>(active);\n const [activatedOnce, setActivatedOnce] = useState(false);\n\n useEffect(() => {\n setInternalActive(active);\n }, [active]);\n\n useEffect(() => {\n onActiveChange?.(internalActive);\n }, [internalActive, onActiveChange]);\n\n const handleClick = useCallback(() => {\n setInternalActive((previousActive) => !previousActive);\n if (!activatedOnce && !internalActive) {\n setActivatedOnce(true);\n onFirstActivated?.();\n }\n }, [activatedOnce, internalActive, onFirstActivated]);\n\n const scrollBodyRef = useRef<HTMLDivElement>();\n\n const [scrolled, setScrolled] = useState(false);\n\n const handleScroll = useMemo(\n () =>\n debounceByAnimationFrame((): void => {\n setScrolled(scrollBodyRef.current.scrollTop > 0);\n }),\n []\n );\n\n return (\n <div\n className={classNames(\"pane\", {\n scrolled,\n })}\n >\n <div className=\"pane-header\" tabIndex={0} onClick={handleClick}>\n <div className=\"pane-title\">\n <span className=\"title-icon\">\n {internalActive ? (\n <WrappedIcon lib=\"antd\" theme=\"outlined\" icon=\"down\" />\n ) : (\n <WrappedIcon lib=\"antd\" theme=\"outlined\" icon=\"right\" />\n )}\n </span>\n <div className=\"title-label\">{titleLabel}</div>\n <slot name=\"title\" />\n </div>\n <slot name=\"actions\" />\n {badge && <div className=\"badge\">{badge}</div>}\n <div className=\"pane-scroll-shadow\"></div>\n </div>\n <div\n className=\"pane-body custom-scrollbar-container\"\n onScroll={handleScroll}\n ref={scrollBodyRef}\n >\n <slot>\n <div\n style={{\n padding: \"10px 20px\",\n color: \"var(--text-color-secondary)\",\n }}\n >\n No content\n </div>\n </slot>\n </div>\n </div>\n );\n}\n\nexport { WorkbenchPane };\n","export type SimpleFunction<P extends unknown[] = unknown[], R = unknown> = (\n ...args: P\n) => R;\n\n// The debounce function receives our function as a parameter\nexport function debounceByAnimationFrame<P extends unknown[]>(\n fn: SimpleFunction<P, void>\n): SimpleFunction<P, void> & { cancel: () => void } {\n // This holds the requestAnimationFrame reference, so we can cancel it if we wish\n let frame: number;\n\n const cancel = () => cancelAnimationFrame(frame);\n\n // The debounce function returns a new function that can receive a variable number of arguments\n const func = (...params: P) => {\n // If the frame variable has been defined, clear it now, and queue for next frame\n if (frame) {\n cancel();\n }\n\n // Queue our function call for the next frame\n frame = requestAnimationFrame(() => {\n // Call our function and pass any params we received\n fn(...params);\n });\n };\n\n func.cancel = cancel;\n\n return func;\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport styleText from \"./workbench-sidebar.shadow.css\";\n\ninterface WorkbenchSidebarProps {\n titleLabel: string;\n refCallback: (element: HTMLDivElement) => void;\n}\ninterface WorkbenchSidebarChildElement extends HTMLElement {\n active?: boolean;\n activeFlex?: string;\n}\n\nconst { defineElement, property } = createDecorators();\n\n@defineElement(\"visual-builder.workbench-sidebar\", {\n styleTexts: [styleText],\n})\nclass WorkbenchSidebar extends ReactNextElement {\n @property() accessor titleLabel: string | undefined;\n\n #getPaneSlot = (): HTMLSlotElement => {\n return this.shadowRoot?.querySelector(\"slot:not([name])\");\n };\n\n #reflowPanes = (): void => {\n const slot = this.#getPaneSlot();\n const panes = slot.assignedNodes() as WorkbenchSidebarChildElement[];\n\n for (const pane of panes) {\n if (pane.active) {\n pane.style.flex = String(pane.activeFlex ?? \"1\");\n } else {\n pane.style.flex = \"initial\";\n }\n }\n };\n\n #onPanesSlotChange = (event: Event): void => {\n const slot = event.target as HTMLSlotElement;\n const panes = slot.assignedNodes();\n for (const pane of panes) {\n pane.addEventListener(\"active.change\", this.#reflowPanes);\n }\n };\n\n refCallback = () => {\n this.#reflowPanes();\n const panesSlots = this.#getPaneSlot();\n\n panesSlots?.addEventListener(\"slotchange\", (e) => {\n this.#onPanesSlotChange(e);\n });\n };\n\n render() {\n return (\n <WorkbenchSidebarComponent\n titleLabel={this.titleLabel}\n refCallback={this.refCallback}\n />\n );\n }\n}\n\nfunction WorkbenchSidebarComponent({\n titleLabel,\n refCallback,\n}: WorkbenchSidebarProps) {\n return (\n <div className=\"sidebar\" ref={refCallback}>\n <div className=\"title-container\">\n <div className=\"title-label\">{titleLabel}</div>\n <slot name=\"titleToolbar\" />\n </div>\n <div className=\"pane-container\">\n <slot />\n </div>\n </div>\n );\n}\n\nexport { WorkbenchSidebar };\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport styleText from \"./workbench-action.shadow.css\";\nimport classNames from \"classnames\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrapLink = wrapBrick<Link, LinkProps>(\"basic.general-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nexport interface WorkbenchActionProps {\n icon?: GeneralIconProps;\n to?: string;\n target?: string;\n active?: boolean;\n href?: string;\n}\n\n@defineElement(\"visual-builder.workbench-action\", {\n styleTexts: [styleText],\n})\nclass WorkbenchAction extends ReactNextElement {\n @property({\n attribute: false,\n })\n accessor icon: GeneralIconProps | undefined;\n\n @property() accessor to: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor active: boolean | undefined;\n\n @property() accessor href: string | undefined;\n\n @property() accessor target: string | undefined;\n\n render(): React.ReactNode {\n return (\n <WorkbenchActionComponent\n to={this.to}\n icon={this.icon}\n active={this.active}\n href={this.href}\n target={this.target}\n />\n );\n }\n}\n\nfunction WorkbenchActionComponent({\n icon,\n to,\n active,\n href,\n target,\n}: WorkbenchActionProps) {\n return (\n <WrapLink\n className={classNames(\"action\", { active })}\n url={to}\n href={href}\n target={target as LinkProps[\"target\"]}\n >\n <WrappedIcon {...icon} />\n </WrapLink>\n );\n}\n\nexport { WorkbenchAction };\n","import { Location, parsePath } from \"history\";\nimport { matchPath } from \"@next-core/runtime\";\nimport type {\n SidebarMenuSimpleItem,\n SidebarMenuItem,\n SidebarMenuGroup,\n} from \"./types.js\";\n\nexport function isGroup(item: SidebarMenuItem): item is SidebarMenuGroup {\n return item.type === \"group\";\n}\n\nexport function isSubMenu(\n item: SidebarMenuItem,\n groupAsSubMenu?: boolean\n): item is SidebarMenuGroup {\n return Boolean(\n item.type === \"subMenu\" || (groupAsSubMenu && item.type === \"group\")\n );\n}\n\nexport function initMenuItemAndMatchCurrentPathKeys(\n menuItems: SidebarMenuItem[],\n pathname: string,\n search: string,\n parentCursor: string\n): {\n selectedKeys: string[];\n openedKeys: string[];\n matchedKeys: string[];\n} {\n const selectedKeys: string[] = [];\n const openedKeys: string[] = [];\n const matchedKeys: string[] = [];\n\n let cursor = 0;\n menuItems.forEach((item) => {\n // key的格式最终为0,1,2,0.1,0.2,0.1.1,0.1.2\n item.key = parentCursor === \"\" ? `${cursor}` : `${parentCursor}.${cursor}`;\n if (isGroup(item) || isSubMenu(item)) {\n const tmp = initMenuItemAndMatchCurrentPathKeys(\n item.items,\n pathname,\n search,\n item.key\n );\n selectedKeys.push(...tmp.selectedKeys);\n if (tmp.selectedKeys.length || item.defaultExpanded) {\n openedKeys.push(item.key);\n }\n openedKeys.push(...tmp.openedKeys);\n matchedKeys.push(...tmp.matchedKeys);\n } else {\n if (matchMenuItem(item, pathname, search)) {\n selectedKeys.push(String(item.key));\n\n const keyPath = item.key.split(\".\");\n\n for (let i = 0; i < keyPath.length; i++) {\n matchedKeys.push(keyPath.slice(0, i + 1).join(\".\"));\n }\n }\n }\n cursor += 1;\n });\n if (selectedKeys.length && parentCursor !== \"\") {\n openedKeys.push(parentCursor);\n }\n return {\n selectedKeys: selectedKeys,\n openedKeys: openedKeys,\n matchedKeys: matchedKeys,\n };\n}\n\nfunction getMatchOfSearch(\n currentSearch: string,\n toSearch: string | undefined\n): boolean {\n const current = new URLSearchParams(currentSearch);\n const to = new URLSearchParams(toSearch);\n for (const [key, value] of to.entries()) {\n if (current.get(key) !== value) {\n return false;\n }\n }\n return true;\n}\n\nexport function matchMenuItem(\n item: SidebarMenuSimpleItem,\n pathname: string,\n search: string\n): boolean {\n if (!item.to) return false;\n const to = typeof item.to === \"object\" ? item.to : parsePath(item.to);\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath = to.pathname!.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n let match = !!matchPath(pathname, {\n path: escapedPath,\n exact: item.exact,\n });\n\n if (!match && Array.isArray(item.activeIncludes)) {\n for (const include of item.activeIncludes) {\n let parseInclude: Location | undefined;\n const hasSearch = include.includes(\"?\");\n\n if (hasSearch) {\n parseInclude = parsePath(include);\n }\n match = !!matchPath(pathname, {\n path: hasSearch ? parseInclude!.pathname : include,\n exact: true,\n });\n\n if (match && parseInclude?.search) {\n match = getMatchOfSearch(search, parseInclude.search);\n }\n\n if (match) {\n break;\n }\n }\n }\n\n if (match && Array.isArray(item.activeExcludes)) {\n for (const include of item.activeExcludes) {\n match = !matchPath(pathname, {\n path: include,\n exact: true,\n });\n if (!match) {\n break;\n }\n }\n }\n\n if (match && (item as any).activeMatchSearch) {\n match = getMatchOfSearch(search, to.search);\n }\n\n return match;\n}\n","import React, { useState, useEffect } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { getHistory } from \"@next-core/runtime\";\nimport {\n WorkbenchAction,\n WorkbenchActionProps,\n} from \"../workbench-action/index.js\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { initMenuItemAndMatchCurrentPathKeys } from \"@next-shared/general/menu\";\nimport {\n SidebarMenuSimpleItem,\n SidebarMenuItem,\n} from \"@next-shared/general/types\";\nimport { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport styleText from \"./workbench-action-list.shadow.css\";\n\nexport interface SidebarMenu {\n title?: string;\n icon?: GeneralIconProps;\n menuItems?: SidebarMenuItem[];\n}\n\nconst WrapperWorkbenchAction = wrapBrick<WorkbenchAction, WorkbenchActionProps>(\n \"visual-builder.workbench-action\"\n);\n\nconst { defineElement, property } = createDecorators();\n\ninterface WorkbenchActionListProps {\n appId?: string;\n menu: SidebarMenu;\n}\n\n@defineElement(\"visual-builder.workbench-action-list\", {\n styleTexts: [styleText],\n})\nclass WorkbenchActionList extends ReactNextElement {\n @property() accessor appId: string | undefined;\n\n @property({\n attribute: false,\n })\n accessor menu!: SidebarMenu;\n\n render(): React.ReactNode {\n return <WorkbenchActionListComponent appId={this.appId} menu={this.menu} />;\n }\n}\n\nlet currentAppId: string;\nconst historyMap = new Map<number, string>();\n\nexport function WorkbenchActionListComponent({\n appId,\n menu,\n}: WorkbenchActionListProps) {\n const history = getHistory();\n const [activeIndex, setActiveIndex] = useState<number>();\n const [location, setLocation] = useState(history.location);\n\n useEffect(() => {\n const unlisten = history.listen((location) => {\n setLocation(location);\n });\n return unlisten;\n }, [history]);\n\n useEffect(() => {\n if (!currentAppId) currentAppId = appId;\n if (currentAppId !== appId) {\n historyMap.clear();\n currentAppId = appId;\n }\n }, [appId]);\n\n useEffect(() => {\n const { pathname, search } = location;\n\n const { selectedKeys } = initMenuItemAndMatchCurrentPathKeys(\n menu?.menuItems ?? [],\n pathname,\n search,\n \"\"\n );\n setActiveIndex(Number(selectedKeys[0]));\n }, [menu, location]);\n\n const handleLinkClick = (item: SidebarMenuItem): void => {\n if ((item as SidebarMenuSimpleItem).href) return;\n historyMap.set(activeIndex, `${location.pathname}${location.search}`);\n };\n\n const isSimpleMenuItem = (\n item: SidebarMenuItem\n ): item is SidebarMenuSimpleItem => {\n return item.type === \"default\" || !item.type;\n };\n\n return (\n <div className=\"workBenchActionList\">\n {menu?.menuItems\n ?.map((item, index) => {\n if (isSimpleMenuItem(item)) {\n let url = item.to;\n if (activeIndex !== index && historyMap.has(index)) {\n url = historyMap.get(index);\n }\n return (\n <WrapperWorkbenchAction\n key={index}\n icon={item.icon}\n to={url as string}\n href={item.href}\n target={item.target}\n active={activeIndex === index}\n onClick={() => handleLinkClick(item)}\n />\n );\n }\n })\n .filter(Boolean)}\n </div>\n );\n}\n\nexport { WorkbenchActionList };\n","import React from \"react\";\nimport { pick } from \"lodash\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type {\n ActionClickDetail,\n WorkbenchNodeData,\n WorkbenchTreeAction,\n} from \"../interfaces.js\";\nimport { WorkbenchActionsContext } from \"../shared/workbench/WorkbenchActionsContext.js\";\nimport {\n WorkbenchTree,\n dropEmitProps,\n} from \"../shared/workbench/WorkbenchTree.js\";\nimport { WorkbenchTreeContext } from \"../shared/workbench/WorkbenchTreeContext.js\";\nimport { deepMatch } from \"../utils/deepMatch.js\";\nimport treeStyleText from \"./WorkbenchTree.shadow.css\";\nimport actionStyleText from \"../shared/workbench-mini-action-bar/WorkbenchMiniActionBar.shadow.css\";\nimport \"@next-core/theme\";\n\nfunction defaultGetCollapsedId(node: WorkbenchNodeData): string | number {\n return node.key;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * @id next-builder.workbench-tree\n * @author steve\n * @history\n * 1.x.0: 新增构件 `next-builder.workbench-tree`\n * @docKind brick\n * @noInheritDoc\n */\n@defineElement(\"visual-builder.workbench-tree\", {\n styleTexts: [treeStyleText, actionStyleText],\n})\nclass WorkbenchTreeElement extends ReactNextElement {\n @property({ attribute: false })\n accessor nodes: WorkbenchNodeData[];\n\n @property({ attribute: false })\n accessor actions: WorkbenchTreeAction[];\n\n @property({ type: Boolean })\n accessor actionsHidden: boolean;\n\n @property()\n accessor placeholder: string;\n\n @property({ type: Boolean })\n accessor isTransformName: boolean;\n\n @property()\n accessor searchPlaceholder: string;\n\n @property({ type: Boolean })\n accessor noSearch: boolean;\n\n @property({ attribute: false })\n accessor activeKey: string | number;\n\n @property({ type: Boolean })\n accessor showMatchedNodeOnly: boolean;\n\n @property({ attribute: false })\n accessor matchNodeDataFields: string | string[];\n\n @property({ attribute: false })\n accessor fixedActionsFor: Record<string, unknown> | Record<string, unknown>[];\n\n @property({ type: Boolean })\n accessor collapsible: boolean;\n\n @property({ attribute: false })\n accessor collapsedNodes: string[];\n\n @property({ type: Boolean })\n accessor allowDrag: boolean;\n\n @property({ type: Boolean })\n accessor allowDragToRoot: boolean;\n\n @property({ type: Boolean })\n accessor allowDragToInside: boolean;\n\n @property({ type: String })\n accessor nodeKey: string;\n\n @property({ type: Boolean })\n accessor skipNotify: boolean;\n\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<ActionClickDetail>;\n\n #handleActionClick = (detail: ActionClickDetail): void => {\n this.#actionClickEvent.emit(detail);\n };\n\n @event({ type: \"node.click\" })\n accessor #nodeClickEvent: EventEmitter<unknown>;\n\n #nodeClickFactory = (node: WorkbenchNodeData) => () => {\n this.#nodeClickEvent.emit(node.data);\n };\n\n @event({ type: \"node.drop\" })\n accessor #nodeDropEvent: EventEmitter<any>;\n\n #handleNodeDrop = (detail: dropEmitProps): void => {\n this.#nodeDropEvent.emit(detail);\n };\n\n @event({ type: \"context.menu\" })\n accessor #nodeContextMenuEvent: EventEmitter<unknown>;\n\n #contextMenuFactory = (node: WorkbenchNodeData) => (e: React.MouseEvent) => {\n e.preventDefault();\n this.#nodeContextMenuEvent.emit({\n active: true,\n node: node?.data,\n x: e.clientX,\n y: e.clientY,\n });\n };\n\n @event({ type: \"node.toggle\" })\n accessor #nodeToggleEvent: EventEmitter<{\n nodeId: string;\n collapsed: boolean;\n }>;\n\n #handleNodeToggle = (nodeId: string, collapsed: boolean): void => {\n this.#nodeToggleEvent.emit({ nodeId, collapsed });\n };\n\n render() {\n return (\n <WorkbenchActionsContext.Provider\n value={{\n actions: this.actions,\n actionsHidden: this.actionsHidden,\n onActionClick: this.#handleActionClick,\n }}\n >\n <WorkbenchTreeContext.Provider\n value={{\n activeKey: this.activeKey,\n basePaddingLeft: 5,\n showMatchedNodeOnly: this.showMatchedNodeOnly,\n isTransformName: this.isTransformName,\n fixedActionsFor: this.fixedActionsFor,\n nodeKey: this.nodeKey,\n collapsible: this.collapsible,\n collapsedNodes: this.collapsedNodes,\n getCollapsedId: defaultGetCollapsedId,\n onNodeToggle: this.#handleNodeToggle,\n skipNotify: this.skipNotify,\n clickFactory: this.#nodeClickFactory,\n contextMenuFactory: this.#contextMenuFactory,\n matchNode: (node, lowerTrimmedQuery) =>\n deepMatch(node.name, lowerTrimmedQuery) ||\n (!!this.matchNodeDataFields?.length &&\n deepMatch(\n this.matchNodeDataFields === \"*\"\n ? node.data\n : pick(node.data, this.matchNodeDataFields),\n lowerTrimmedQuery\n )),\n }}\n >\n <WorkbenchTree\n nodes={this.nodes}\n placeholder={this.placeholder}\n searchPlaceholder={this.searchPlaceholder}\n noSearch={this.noSearch}\n dropEmit={this.#handleNodeDrop}\n allowDrag={this.allowDrag}\n allowDragToInside={this.allowDragToInside}\n allowDragToRoot={this.allowDragToRoot}\n />\n </WorkbenchTreeContext.Provider>\n </WorkbenchActionsContext.Provider>\n );\n }\n}\n\nexport { WorkbenchTreeElement };\n","// Merge bricks\n// istanbul ignore file\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport connect from \"./preview/connect.js\";\nimport type { PreviewStartOptions } from \"./preview/interfaces.js\";\n// Todo: remove unnecessary provider below\nimport \"./collect-used-contracts.js\";\n\nexport function injectPreviewAgent(\n previewFromOrigin: string,\n options: PreviewStartOptions\n): Promise<unknown> {\n return connect(previewFromOrigin, options);\n}\n\ncustomElements.define(\n \"visual-builder.inject-preview-agent\",\n createProviderClass(injectPreviewAgent)\n);\n","export enum K {\n LOAD_MORE = \"LOAD_MORE\",\n LOADING = \"LOADING\",\n NO_DATA = \"NO_DATA\",\n NODE = \"NODE\",\n // action\n ADD = \"ADD\",\n EDIT = \"EDIT\",\n DELETE = \"DELETE\",\n IMPORT = \"IMPORT\",\n CLONE = \"CLONE\",\n APPEND_RELATION = \"APPEND_RELATION\",\n UPDATE_RELATION = \"UPDATE_RELATION\",\n REMOVE_RELATION = \"REMOVE_RELATION\",\n ROLLBACK = \"ROLLBACK\",\n ROLLBACK_ALL = \"ROLLBACK_ALL\",\n ADD_FULL = \"ADD_FULL\",\n EDIT_FULL = \"EDIT_FULL\",\n DELETE_FULL = \"DELETE_FULL\",\n IMPORT_FULL = \"IMPORT_FULL\",\n CLONE_FULL = \"CLONE_FULL\",\n APPEND_RELATION_FULL = \"APPEND_RELATION_FULL\",\n UPDATE_RELATION_FULL = \"UPDATE_RELATION_FULL\",\n REMOVE_RELATION_FULL = \"REMOVE_RELATION_FULL\",\n ROLLBACK_FULL = \"ROLLBACK_FULL\",\n ROLLBACK_ALL_FULL = \"ROLLBACK_ALL_FULL\",\n // category\n PROJECT = \"PROJECT\",\n USER = \"USER\",\n PERMISSION = \"PERMISSION\",\n BRICK = \"BRICK\",\n ROUTE = \"ROUTE\",\n TEMPLATE = \"TEMPLATE\",\n SNIPPET = \"SNIPPET\",\n I18N = \"I18N\",\n IMAGE = \"IMAGE\",\n FUNCTION = \"FUNCTION\",\n MENU = \"MENU\",\n MENU_ITEM = \"MENU_ITEM\",\n WORKFLOW = \"WORKFLOW\",\n}\n\nconst en: Locale = {\n LOAD_MORE: \"Load more\",\n LOADING: \"Loading\",\n NO_DATA: \"No data\",\n NODE: \"{{ nodes }}\",\n NODE_ellipsis: \"{{ nodes }} etc., a total of {{ count }} items\",\n // action\n ADD: \"Add node\",\n EDIT: \"Edit node\",\n DELETE: \"Delete node\",\n IMPORT: \"Batch import node\",\n CLONE: \"Clone node\",\n APPEND_RELATION: \"Append Relation\",\n UPDATE_RELATION: \"Update Relation\",\n REMOVE_RELATION: \"Remove Relation\",\n ROLLBACK: \"Rollback\",\n ROLLBACK_ALL: \"Rollback all operations\",\n ADD_FULL: \"Add {{ category }} ({{ nodes }})\",\n EDIT_FULL: \"Edit {{ nodeChanges }} of {{ category }} ({{ nodes }})\",\n DELETE_FULL: \"Delete {{ category }} ({{ nodes }})\",\n IMPORT_FULL: \"Batch Import {{ category }} ({{ nodes }})\",\n CLONE_FULL: \"Clone {{ category }} ({{ nodes }})\",\n APPEND_RELATION_FULL:\n \"Append the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})\",\n UPDATE_RELATION_FULL:\n \"Update the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})\",\n REMOVE_RELATION_FULL:\n \"Remove the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})\",\n ROLLBACK_FULL: \"Rollback to [{{ rollbackAbstract }}]\",\n ROLLBACK_ALL_FULL: \"Rollback all operations\",\n // category\n PROJECT: \"Project\",\n USER: \"User Group\",\n PERMISSION: \"Permission\",\n BRICK: \"Brick\",\n ROUTE: \"Route\",\n TEMPLATE: \"Template\",\n SNIPPET: \"Snippet\",\n I18N: \"I18N\",\n IMAGE: \"Image\",\n FUNCTION: \"Function\",\n MENU: \"Menu\",\n MENU_ITEM: \"Menu item\",\n WORKFLOW: \"Workflow\",\n};\n\nconst zh: Locale = {\n LOAD_MORE: \"加载更多\",\n LOADING: \"加载中\",\n NO_DATA: \"没有数据\",\n NODE: \"{{ nodes }}\",\n NODE_ellipsis: \"{{ nodes }}等共{{ count }}项\",\n // action\n ADD: \"新增节点\",\n EDIT: \"编辑节点\",\n DELETE: \"删除节点\",\n IMPORT: \"批量导入节点\",\n CLONE: \"克隆节点\",\n APPEND_RELATION: \"添加关系\",\n UPDATE_RELATION: \"更新关系\",\n REMOVE_RELATION: \"移除关系\",\n ROLLBACK: \"回滚\",\n ROLLBACK_ALL: \"回滚全部操作\",\n ADD_FULL: \"新增{{ category }}({{ nodes }})\",\n EDIT_FULL: \"编辑{{ category }}({{ nodes }})的 {{ nodeChanges }}\",\n DELETE_FULL: \"删除{{ category }}({{ nodes }})\",\n IMPORT_FULL: \"批量导入{{ category }}({{ nodes }})\",\n CLONE_FULL: \"克隆{{ category }}({{ nodes }})\",\n APPEND_RELATION_FULL:\n \"添加{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系\",\n UPDATE_RELATION_FULL:\n \"更新{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系\",\n REMOVE_RELATION_FULL:\n \"移除{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系\",\n ROLLBACK_FULL: \"回滚到【{{ rollbackAbstract }}】\",\n ROLLBACK_ALL_FULL: \"回滚全部操作\",\n // category\n PROJECT: \"项目\",\n USER: \"用户组\",\n PERMISSION: \"权限点\",\n BRICK: \"构件\",\n ROUTE: \"路由\",\n TEMPLATE: \"模版\",\n SNIPPET: \"片段\",\n I18N: \"国际化\",\n IMAGE: \"图片\",\n FUNCTION: \"函数\",\n MENU: \"菜单\",\n MENU_ITEM: \"菜单项\",\n WORKFLOW: \"工作流\",\n};\n\nexport const NS = \"bricks/visual-builder/workbench-history-action\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n} & { NODE_ellipsis: string };\n","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取变更历史(从上一次commit开始)\n * @endpoint GET /api/v1/next-builder/workspace/:appId/changes\n */\nexport var WorkspaceApi_getChangeHistory = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (appId, params, options) {\n return (/**! @contract easyops.api.next_builder.workspace.GetChangeHistory@1.0.0 */(yield http.get(\"api/gateway/next_builder.workspace.GetChangeHistory/api/v1/next-builder/workspace/\".concat(appId, \"/changes\"), _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function WorkspaceApi_getChangeHistory(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=getChangeHistory.js.map","import { NS, K } from \"./i18n.js\";\nimport { i18n } from \"@next-core/i18n\";\nimport { NextBuilderModels } from \"@next-api-sdk/next-builder-sdk\";\n\nconst actionI18nKeyMap: Record<string, string> = {\n add: `${NS}:${K.ADD}`,\n edit: `${NS}:${K.EDIT}`,\n delete: `${NS}:${K.DELETE}`,\n batch_delete: `${NS}:${K.DELETE}`,\n import: `${NS}:${K.IMPORT}`,\n clone: `${NS}:${K.CLONE}`,\n append_relation: `${NS}:${K.APPEND_RELATION}`,\n update_relation: `${NS}:${K.UPDATE_RELATION}`,\n remove_relation: `${NS}:${K.REMOVE_RELATION}`,\n rollback: `${NS}:${K.ROLLBACK}`,\n rollback_all: `${NS}:${K.ROLLBACK_ALL}`,\n};\n\nconst fullActionI18nKeyMap: Record<string, string> = {\n add: `${NS}:${K.ADD_FULL}`,\n edit: `${NS}:${K.EDIT_FULL}`,\n delete: `${NS}:${K.DELETE_FULL}`,\n batch_delete: `${NS}:${K.DELETE_FULL}`,\n import: `${NS}:${K.IMPORT_FULL}`,\n clone: `${NS}:${K.CLONE_FULL}`,\n append_relation: `${NS}:${K.APPEND_RELATION_FULL}`,\n update_relation: `${NS}:${K.UPDATE_RELATION_FULL}`,\n remove_relation: `${NS}:${K.REMOVE_RELATION_FULL}`,\n rollback: `${NS}:${K.ROLLBACK_FULL}`,\n rollback_all: `${NS}:${K.ROLLBACK_ALL_FULL}`,\n};\n\nconst categoryI18nKeyMap: Record<string, string> = {\n project: `${NS}:${K.PROJECT}`,\n userGroup: `${NS}:${K.USER}`,\n permission: `${NS}:${K.PERMISSION}`,\n brick: `${NS}:${K.BRICK}`,\n route: `${NS}:${K.ROUTE}`,\n template: `${NS}:${K.TEMPLATE}`,\n snippet: `${NS}:${K.SNIPPET}`,\n i18n: `${NS}:${K.I18N}`,\n image: `${NS}:${K.IMAGE}`,\n function: `${NS}:${K.FUNCTION}`,\n menu: `${NS}:${K.MENU}`,\n menuItem: `${NS}:${K.MENU_ITEM}`,\n workflow: `${NS}:${K.WORKFLOW}`,\n};\n\nconst modelI18nKeyMap: Record<string, string> = {\n PROJECT_MICRO_APP: `${NS}:${K.PROJECT}`,\n \"MICRO_APP_USER_GROUP@EASYOPS\": `${NS}:${K.USER}`,\n MICRO_APP_RESOURCE_PERMISSION: `${NS}:${K.PERMISSION}`,\n STORYBOARD_BRICK: `${NS}:${K.BRICK}`,\n STORYBOARD_ROUTE: `${NS}:${K.ROUTE}`,\n STORYBOARD_TEMPLATE: `${NS}:${K.TEMPLATE}`,\n STORYBOARD_SNIPPET: `${NS}:${K.SNIPPET}`,\n STORYBOARD_I18N: `${NS}:${K.I18N}`,\n MICRO_APP_RESOURCE_IMAGE: `${NS}:${K.IMAGE}`,\n STORYBOARD_FUNCTION: `${NS}:${K.FUNCTION}`,\n MICRO_APP_RESOURCE_MENU: `${NS}:${K.MENU}`,\n MICRO_APP_RESOURCE_MENU_ITEM: `${NS}:${K.MENU_ITEM}`,\n \"WORKFLOW_DEF@EASYOPS\": `${NS}:${K.WORKFLOW}`,\n};\n\nexport function translateHistory(\n history: Partial<NextBuilderModels.ModelWorkspaceChangeHistory>\n): Record<string, string> {\n const historyAction =\n history.action === \"rollback\" && !history.rollBackIdInfo\n ? \"rollback_all\"\n : history.action;\n\n const category = i18n.t(\n categoryI18nKeyMap[history.category] ?? history.category\n );\n const action = i18n.t(actionI18nKeyMap[historyAction] ?? historyAction);\n const leftObjectId = i18n.t(\n modelI18nKeyMap[history.abstract?.leftObjectId] ??\n history.abstract?.leftObjectId\n );\n const rightObjectId = i18n.t(\n modelI18nKeyMap[history.abstract?.rightObjectId] ??\n history.abstract?.rightObjectId\n );\n const nodes = translateNodes(\n history.abstract?.nodes,\n history.abstract?.nodesCount\n );\n const leftNodes = translateNodes(\n history.abstract?.leftNodes,\n history.abstract?.leftNodesCount\n );\n const rightNodes = translateNodes(\n history.abstract?.rightNodes,\n history.abstract?.rightNodesCount\n );\n const rollbackAbstract =\n historyAction === \"rollback\"\n ? translateHistory(history.rollBackIdInfo).abstract\n : null;\n\n const abstract = i18n.t(\n fullActionI18nKeyMap[historyAction] ?? historyAction,\n {\n category,\n nodes,\n leftNodes,\n rightNodes,\n nodeChanges: history.abstract?.nodeChanges?.join(\", \"),\n relationChanges: history.abstract?.relationChanges?.join(\", \"),\n leftObjectId,\n rightObjectId,\n rollbackAbstract,\n }\n );\n\n return {\n category,\n action,\n leftObjectId,\n rightObjectId,\n nodes,\n leftNodes,\n rightNodes,\n abstract,\n rollbackAbstract,\n };\n}\n\nfunction translateNodes(nodes: string[] = [], total: number, separator = \", \") {\n return i18n.t(`${NS}:${K.NODE}`, {\n nodes: nodes.join(separator),\n context: total > nodes.length ? \"ellipsis\" : undefined,\n count: total,\n });\n}\n","import React, { useRef, useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n EoEasyopsAvatar,\n EoEasyopsAvatarProps,\n} from \"@next-bricks/basic/easyops-avatar\";\nimport type {\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping,\n} from \"@next-bricks/basic/popover\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport \"@next-core/theme\";\nimport moment from \"moment\";\nimport styleText from \"./styles.shadow.css\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport {\n WorkspaceApi_getChangeHistory,\n NextBuilderModels,\n} from \"@next-api-sdk/next-builder-sdk\";\nimport { translateHistory } from \"./utils.js\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedEasyopsAvatar = wrapBrick<EoEasyopsAvatar, EoEasyopsAvatarProps>(\n \"eo-easyops-avatar\"\n);\nconst WrappedPopover = wrapBrick<\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping\n>(\"eo-popover\", {\n onVisibleChange: \"visible.change\",\n beforeVisibleChange: \"before.visible.change\",\n});\n\ninterface HistoryData\n extends Partial<NextBuilderModels.ModelWorkspaceChangeHistory> {\n translation: Record<string, string>;\n}\n\nexport interface WorkbenchHistoryActionProps {\n appId: string;\n projectId: string;\n}\n\n/**\n * 项目变更历史\n */\nexport\n@defineElement(\"visual-builder.workbench-history-action\", {\n styleTexts: [styleText],\n})\nclass WorkbenchHistoryAction\n extends ReactNextElement\n implements WorkbenchHistoryActionProps\n{\n @property()\n accessor appId: string;\n\n @property()\n accessor projectId: string;\n\n /**\n * 点击历史项标题触发\n */\n @event({ type: \"history.item.click\" })\n accessor #historyItemClickEvent!: EventEmitter<\n HistoryData & { enableRollback: boolean }\n >;\n #handleHistoryItemClick = (\n data: HistoryData & { enableRollback: boolean }\n ): void => {\n this.#historyItemClickEvent.emit(data);\n };\n\n /**\n * 点击回滚触发\n */\n @event({ type: \"rollback\" })\n accessor #rollbackEvent!: EventEmitter<HistoryData>;\n #handleRollback = (data: HistoryData): void => {\n this.#rollbackEvent.emit(data);\n };\n\n /**\n * 回滚全部\n */\n @event({ type: \"rollback.all\" })\n accessor #rollbackAllEvent!: EventEmitter<void>;\n #handleRollbackAll = (): void => {\n this.#rollbackAllEvent.emit();\n };\n\n render() {\n return (\n <WorkbenchHistoryActionComponent\n appId={this.appId}\n projectId={this.projectId}\n onHistoryItemClick={this.#handleHistoryItemClick}\n onRollback={this.#handleRollback}\n onRollbackAll={this.#handleRollbackAll}\n />\n );\n }\n}\n\ninterface WorkbenchHistoryActionComponentProps\n extends WorkbenchHistoryActionProps {\n onHistoryItemClick?: (\n data: HistoryData & { enableRollback: boolean }\n ) => void;\n onRollback?: (data: HistoryData) => void;\n onRollbackAll?: () => void;\n}\n\nexport function WorkbenchHistoryActionComponent(\n props: WorkbenchHistoryActionComponentProps\n) {\n const { appId, projectId, onHistoryItemClick, onRollback, onRollbackAll } =\n props;\n const { t } = useTranslation(NS);\n\n const [loading, setLoading] = useState(false);\n const [hideLoadMore, setHideLoadMore] = useState(true);\n const [allLoaded, setAllLoaded] = useState(false);\n const [historyList, setHistoryList] = useState<HistoryData[]>([]);\n const lastTs = useRef<string>(\"\");\n\n const handleLoadList = (isFirst?: boolean) => {\n setLoading(true);\n WorkspaceApi_getChangeHistory(appId, { ts: lastTs.current, limit: 20 })\n .then((result) => {\n setHistoryList((pre) => {\n const list = result.list.map((v) => ({\n ...v,\n translation: translateHistory(v),\n }));\n return isFirst ? list : pre.concat(list);\n });\n lastTs.current = result.ts;\n setAllLoaded(result.list.length < 20);\n setHideLoadMore(result.list.length < 20);\n })\n .catch((error) => {\n handleHttpError(error);\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n const handleBeforeVisibleChange = (e: CustomEvent<boolean>) => {\n if (e.detail) {\n setHideLoadMore(true);\n setAllLoaded(false);\n setHistoryList([]);\n lastTs.current = \"\";\n handleLoadList(true);\n }\n };\n\n return (\n <WrappedPopover\n placement=\"bottom\"\n trigger=\"click\"\n arrow={true}\n arrowColor=\"var(--color-fill-bg-container-4)\"\n beforeVisibleChange={handleBeforeVisibleChange}\n >\n <WrappedButton\n slot=\"anchor\"\n shape=\"circle\"\n className=\"history-action\"\n icon={{\n lib: \"antd\",\n icon: \"history\",\n theme: \"outlined\",\n }}\n />\n <div>\n <div className=\"history-title\">History</div>\n <div className=\"history-list\">\n {historyList.length ? (\n <>\n {historyList.map((v, i) => {\n return (\n <HistoryItem\n key={`${v.uniqueKey}-${v.ts}`}\n data={v}\n enableRollback={i !== 0 && v.action !== \"rollback\"}\n current={i === 0}\n onHistoryItemClick={onHistoryItemClick}\n onRollback={onRollback}\n />\n );\n })}\n {!hideLoadMore && (\n <span className=\"load-more-container\">\n <WrappedLink\n className=\"load-more\"\n disabled={loading}\n onClick={(e) => handleLoadList()}\n >\n {t(K.LOAD_MORE)}\n </WrappedLink>\n </span>\n )}\n {allLoaded && (\n <span className=\"end-container\">\n The End\n <WrappedIcon\n className=\"rollback-all\"\n lib=\"antd\"\n icon=\"rollback\"\n theme=\"outlined\"\n onClick={(e) => onRollbackAll()}\n />\n </span>\n )}\n </>\n ) : (\n <div className=\"empty\">{loading ? t(K.LOADING) : t(K.NO_DATA)}</div>\n )}\n </div>\n {/* 点击历史详情会打开 modal 来展示,这里提供一个 slot,编排将 modal 放置在这里,使其成为 popover 的 children,才能防止用户在操作 modal 过程中意外关闭 popover */}\n <slot />\n </div>\n </WrappedPopover>\n );\n}\n\ninterface HistoryItemProps {\n data: HistoryData;\n enableRollback?: boolean;\n current?: boolean;\n onHistoryItemClick?: (\n data: HistoryData & { enableRollback: boolean }\n ) => void;\n onRollback?: (data: HistoryData) => void;\n}\n\nfunction HistoryItem(props: HistoryItemProps) {\n const { data, enableRollback, current, onHistoryItemClick, onRollback } =\n props;\n\n const ts = moment(Number(data.ts) / 1000000);\n const duration = moment.duration(ts.diff(moment()));\n const humanizedTime =\n duration.days() <= -1\n ? ts.format(\"YYYY-MM-DD HH:mm:ss\")\n : duration.humanize(true, { ss: 0, s: 60, m: 60, h: 24 });\n\n return (\n <div className=\"item-container\">\n <div className=\"item-title\">\n <div\n className=\"title-left\"\n onClick={(e) => onHistoryItemClick({ ...data, enableRollback })}\n >\n <div className=\"topic\" title={data.translation.abstract}>\n {data.translation.abstract}\n </div>\n {current && <div className=\"branch\">(current)</div>}\n </div>\n <div className=\"title-right\">\n {enableRollback && (\n <WrappedIcon\n className=\"rollback\"\n lib=\"antd\"\n icon=\"rollback\"\n theme=\"outlined\"\n onClick={(e) => onRollback(data)}\n />\n )}\n </div>\n </div>\n <div className=\"item-info\">\n <WrappedEasyopsAvatar\n className=\"avatar\"\n nameOrInstanceId={data.user}\n size=\"xs\"\n />\n <div className=\"time\">{humanizedTime}</div>\n <div className=\"operator\">{data.user}</div>\n </div>\n </div>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.custom-scrollbar-container{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) rgba(255,255,255,0.03)}.custom-scrollbar-container::-webkit-scrollbar{width:8px;height:8px;background-color:transparent;position:absolute}.custom-scrollbar-container::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0);border-radius:4px}.custom-scrollbar-container:hover::-webkit-scrollbar-track{background-color:rgba(255,255,255,0.03)}.custom-scrollbar-container:hover::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0.15)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.workBenchActionList{display:flex;flex-direction:column;width:-webkit-min-content;width:-moz-min-content;width:min-content;height:100%;background-color:#4297ff}:host-context(html[data-theme=\"dark-v2\"]) .workBenchActionList,\n:host-context([data-override-theme=\"dark-v2\"]) .workBenchActionList{background-color:#323237}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action::part(link){display:flex;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;color:rgba(255,255,255,0.4);position:relative;transition:none}.action.active::part(link)::before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:white}.action.active::part(link),\n.action::part(link):hover{color:white}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}eo-popover::part(popup){width:800px;max-width:60vw;padding:10px;background:var(--color-fill-bg-container-4);border-radius:var(--medius-border-radius);box-shadow:var(--feedback-container-shadow);z-index:1000}.history-title{font-size:var(--title-font-size);font-weight:var(--font-weight-500);color:var(--color-strong-text);margin-bottom:5px}.history-list{max-height:500px;overflow-y:auto}.item-container{padding:10px 0;display:flex;flex-direction:column;gap:5px}.empty{padding:5px 0 10px 0;font-size:14px;color:var(--text-color-secondary);text-align:center}.item-container:not(:last-of-type){border-bottom:1px solid var(--color-border-divider-line)}.item-title{display:flex;align-items:center;justify-content:space-between;gap:5px}.title-left,\n.title-right{display:flex;align-items:center}.title-left{cursor:pointer;overflow:hidden;gap:5px}.topic{font-size:14px;color:var(--text-color-title);font-weight:var(--font-weight-500);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.branch{font-size:14px;color:var(--text-color-secondary)}.rollback{margin-right:5px;font-size:14px;color:var(--text-color-secondary);cursor:pointer}.rollback:hover{color:var(--color-brand)}.item-info{display:flex;align-items:center;gap:5px}.time,\n.operator{font-size:14px;color:var(--text-color-secondary)}.load-more-container{display:block;text-align:center}.end-container{display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;color:var(--color-brand)}.rollback-all{cursor:pointer}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--pane-color:#595959}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context([data-override-theme=\"dark-v2\"]){--pane-color:#ccc}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.pane{display:flex;flex-direction:column;color:var(--pane-color);height:100%}.pane-header{display:flex;align-items:center;cursor:pointer;border-top:1px solid transparent;position:relative}.pane-header:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#007fd4}:host(:not(:first-child)) .pane-header{border-top-color:rgba(204,204,204,0.2)}.pane-scroll-shadow{display:none;position:absolute;bottom:-3px;left:0;right:0;height:3px;box-shadow:#000000 0 6px 6px -6px inset;z-index:1}.scrolled .pane-scroll-shadow{display:block}.pane-title{display:flex;align-items:center;font-size:13px;line-height:24px;height:25px;min-width:0;flex:1}.title-icon{display:flex;justify-content:center;align-items:center;width:24px;padding-right:2px;line-height:1;flex-shrink:0}.title-label{text-transform:uppercase;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-body{flex-grow:1;min-height:0;display:none;overflow:hidden;overflow-y:auto;overflow-y:overlay}:host([active]) .pane-body{display:initial}:host(:not(:hover)) ::slotted([slot=\"actions\"]){display:none}.badge{background-color:rgb(77,77,77);color:rgb(255,255,255);border-radius:11px;height:18px;padding:3px 6px;line-height:13px;margin:0 3px;font-size:12px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{--sidebar-background:#fff;--title-container-background:#fff;--title-container-color:#595959;display:block;outline-color:rgba(83,89,93,0.5);background-color:var(--sidebar-background);height:100%}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context([data-override-theme=\"dark-v2\"]){--sidebar-background:#181818;--title-container-background:#181818;--title-container-color:rgb(187,187,187);background-color:var(--sidebar-background)}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.sidebar{display:flex;flex-direction:column;height:100%}.title-container{display:flex;padding:0 8px 8px 8px;color:var(--title-container-color);background:var(--title-container-background)}.title-label{font-weight:300;line-height:44px;padding-left:12px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-container{flex-grow:1;min-height:0;display:flex;flex-direction:column}::slotted([slot=\"panes\"]){transition:flex 0.2s;min-height:25px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["_WorkbenchPane","WrappedIcon","wrapBrick","defineElement","property","event","createDecorators","_dec","styleTexts","styleText","sharedStyle","_dec2","_dec3","type","Boolean","_dec4","Number","_dec5","_dec6","_A","WeakMap","_B","_C","_D","_activeChangeEvent","_handleActiveChange","_E","_activeFirstActivatedEvent","_handleActiveFirstActivated","WorkbenchPane","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_activeFirstActivatedEvent2","set","_set_activeFirstActivatedEvent2","_get_activeChangeEvent2","_set_activeChangeEvent2","writable","value","_initProto","_init_titleLabel","_init_active","_init_badge","_init_activeChangeEvent","active","this","_classPrivateFieldGet","emit","_init_activeFirstActivatedEvent","titleLabel","v","_classPrivateFieldSet","badge","render","React","WorkbenchPaneComponent","onActiveChange","onFirstActivated","_set_activeChangeEvent","_get_activeChangeEvent","_set_activeFirstActivatedEvent","_get_activeFirstActivatedEvent","_ref","internalActive","setInternalActive","useState","activatedOnce","setActivatedOnce","useEffect","handleClick","useCallback","previousActive","scrollBodyRef","useRef","scrolled","setScrolled","handleScroll","useMemo","debounceByAnimationFrame","fn","current","scrollTop","func","_len","length","params","Array","_key","frame","cancel","requestAnimationFrame","cancelAnimationFrame","className","classNames","tabIndex","onClick","lib","theme","icon","name","onScroll","ref","style","padding","color","_class","e","c","_initClass","_applyDecs","o","_","has","_checkInRHS","_WorkbenchSidebar","_getPaneSlot","_reflowPanes","_onPanesSlotChange","WorkbenchSidebar","_this$shadowRoot","shadowRoot","querySelector","panes","call","assignedNodes","pane","_pane$activeFlex","flex","String","activeFlex","target","addEventListener","_defineProperty","panesSlots","WorkbenchSidebarComponent","refCallback","_WorkbenchAction","WrapLink","attribute","WorkbenchAction","_init_icon","_init_to","_init_href","_init_target","to","href","WorkbenchActionComponent","url","initMenuItemAndMatchCurrentPathKeys","menuItems","pathname","search","parentCursor","selectedKeys","openedKeys","matchedKeys","cursor","forEach","item","key","concat","isGroup","groupAsSubMenu","isSubMenu","tmp","items","push","defaultExpanded","parsePath","escapedPath","replace","match","matchPath","path","exact","isArray","activeIncludes","include","_parseInclude","parseInclude","hasSearch","includes","getMatchOfSearch","activeExcludes","_include","activeMatchSearch","matchMenuItem","keyPath","split","i","slice","join","currentSearch","toSearch","URLSearchParams","entries","_WorkbenchActionList","WrapperWorkbenchAction","currentAppId","WorkbenchActionList","_init_appId","_init_menu","appId","menu","WorkbenchActionListComponent","historyMap","Map","_menu$menuItems2","history","getHistory","activeIndex","setActiveIndex","location","setLocation","unlisten","listen","clear","_menu$menuItems","map","index","isSimpleMenuItem","handleLinkClick","filter","defaultGetCollapsedId","node","_WorkbenchTreeElement","treeStyleText","actionStyleText","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_dec24","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_actionClickEvent","_handleActionClick","_T","_nodeClickEvent","_nodeClickFactory","_U","_nodeDropEvent","_handleNodeDrop","_V","_nodeContextMenuEvent","_contextMenuFactory","_W","_nodeToggleEvent","_handleNodeToggle","WorkbenchTreeElement","_get_nodeToggleEvent2","_set_nodeToggleEvent2","_get_nodeContextMenuEvent2","_set_nodeContextMenuEvent2","_get_nodeDropEvent2","_set_nodeDropEvent2","_get_nodeClickEvent2","_set_nodeClickEvent2","_get_actionClickEvent2","_set_actionClickEvent2","_init_nodes","_init_actions","_init_actionsHidden","_init_placeholder","_init_isTransformName","_init_searchPlaceholder","_init_noSearch","_init_activeKey","_init_showMatchedNodeOnly","_init_matchNodeDataFields","_init_fixedActionsFor","_init_collapsible","_init_collapsedNodes","_init_allowDrag","_init_allowDragToRoot","_init_allowDragToInside","_init_nodeKey","_init_skipNotify","_init_actionClickEvent","detail","_init_nodeClickEvent","data","_init_nodeDropEvent","_init_nodeContextMenuEvent","preventDefault","x","clientX","y","clientY","_init_nodeToggleEvent","nodeId","collapsed","nodes","actions","actionsHidden","placeholder","isTransformName","searchPlaceholder","noSearch","activeKey","showMatchedNodeOnly","matchNodeDataFields","fixedActionsFor","collapsible","collapsedNodes","allowDrag","allowDragToRoot","allowDragToInside","nodeKey","skipNotify","WorkbenchActionsContext","Provider","onActionClick","WorkbenchTreeContext","basePaddingLeft","getCollapsedId","onNodeToggle","clickFactory","contextMenuFactory","matchNode","lowerTrimmedQuery","_this$matchNodeDataFi","deepMatch","pick","WorkbenchTree","dropEmit","_set_actionClickEvent","_get_actionClickEvent","_set_nodeClickEvent","_get_nodeClickEvent","_set_nodeDropEvent","_get_nodeDropEvent","_set_nodeContextMenuEvent","_get_nodeContextMenuEvent","_set_nodeToggleEvent","_get_nodeToggleEvent","customElements","define","createProviderClass","previewFromOrigin","options","connect","K","NS","WorkspaceApi_getChangeHistory","http","_x","_x2","_x3","apply","actionI18nKeyMap","add","ADD","edit","EDIT","delete","DELETE","batch_delete","import","IMPORT","clone","CLONE","append_relation","APPEND_RELATION","update_relation","UPDATE_RELATION","remove_relation","REMOVE_RELATION","rollback","ROLLBACK","rollback_all","ROLLBACK_ALL","fullActionI18nKeyMap","ADD_FULL","EDIT_FULL","DELETE_FULL","IMPORT_FULL","CLONE_FULL","APPEND_RELATION_FULL","UPDATE_RELATION_FULL","REMOVE_RELATION_FULL","ROLLBACK_FULL","ROLLBACK_ALL_FULL","categoryI18nKeyMap","project","PROJECT","userGroup","USER","permission","PERMISSION","brick","BRICK","route","ROUTE","template","TEMPLATE","snippet","SNIPPET","i18n","I18N","image","IMAGE","function","FUNCTION","MENU","menuItem","MENU_ITEM","workflow","WORKFLOW","modelI18nKeyMap","PROJECT_MICRO_APP","MICRO_APP_RESOURCE_PERMISSION","STORYBOARD_BRICK","STORYBOARD_ROUTE","STORYBOARD_TEMPLATE","STORYBOARD_SNIPPET","STORYBOARD_I18N","MICRO_APP_RESOURCE_IMAGE","STORYBOARD_FUNCTION","MICRO_APP_RESOURCE_MENU","MICRO_APP_RESOURCE_MENU_ITEM","translateHistory","_categoryI18nKeyMap$h","_actionI18nKeyMap$his","_modelI18nKeyMap$hist","_history$abstract","_history$abstract2","_modelI18nKeyMap$hist2","_history$abstract3","_history$abstract4","_history$abstract5","_history$abstract6","_history$abstract7","_history$abstract8","_history$abstract9","_history$abstract10","_fullActionI18nKeyMap","_history$abstract11","_history$abstract12","historyAction","action","rollBackIdInfo","category","t","leftObjectId","abstract","rightObjectId","translateNodes","nodesCount","leftNodes","leftNodesCount","rightNodes","rightNodesCount","rollbackAbstract","nodeChanges","relationChanges","undefined","total","separator","NODE","context","count","initializeReactI18n","en","LOAD_MORE","LOADING","NO_DATA","NODE_ellipsis","zh","_WorkbenchHistoryActi","WrappedButton","WrappedLink","WrappedEasyopsAvatar","WrappedPopover","onVisibleChange","beforeVisibleChange","_historyItemClickEvent","_handleHistoryItemClick","_rollbackEvent","_handleRollback","_rollbackAllEvent","_handleRollbackAll","WorkbenchHistoryAction","_get_rollbackAllEvent2","_set_rollbackAllEvent2","_get_rollbackEvent2","_set_rollbackEvent2","_get_historyItemClickEvent2","_set_historyItemClickEvent2","_init_projectId","_init_historyItemClickEvent","_init_rollbackEvent","_init_rollbackAllEvent","projectId","WorkbenchHistoryActionComponent","onHistoryItemClick","onRollback","onRollbackAll","_set_historyItemClickEvent","_get_historyItemClickEvent","_set_rollbackEvent","_get_rollbackEvent","_set_rollbackAllEvent","_get_rollbackAllEvent","props","useTranslation","loading","setLoading","hideLoadMore","setHideLoadMore","allLoaded","setAllLoaded","historyList","setHistoryList","lastTs","handleLoadList","isFirst","ts","limit","then","result","pre","list","_objectSpread","translation","catch","error","handleHttpError","finally","placement","trigger","arrow","arrowColor","slot","shape","HistoryItem","uniqueKey","enableRollback","disabled","moment","duration","diff","humanizedTime","days","format","humanize","ss","s","m","h","title","nameOrInstanceId","user","size","___CSS_LOADER_EXPORT___","module","id","toString"],"sourceRoot":""}
@@ -1,3 +0,0 @@
1
- /*! For license information please see workbench-history-action.befdf83a.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[1642,6522,5628],{538:(t,e,n)=>{n.d(e,{K:()=>o,NS:()=>a,k:()=>r});var o=function(t){return t.LOAD_MORE="LOAD_MORE",t.LOADING="LOADING",t.NO_DATA="NO_DATA",t.NODE="NODE",t.ADD="ADD",t.EDIT="EDIT",t.DELETE="DELETE",t.IMPORT="IMPORT",t.CLONE="CLONE",t.APPEND_RELATION="APPEND_RELATION",t.UPDATE_RELATION="UPDATE_RELATION",t.REMOVE_RELATION="REMOVE_RELATION",t.ROLLBACK="ROLLBACK",t.ROLLBACK_ALL="ROLLBACK_ALL",t.ADD_FULL="ADD_FULL",t.EDIT_FULL="EDIT_FULL",t.DELETE_FULL="DELETE_FULL",t.IMPORT_FULL="IMPORT_FULL",t.CLONE_FULL="CLONE_FULL",t.APPEND_RELATION_FULL="APPEND_RELATION_FULL",t.UPDATE_RELATION_FULL="UPDATE_RELATION_FULL",t.REMOVE_RELATION_FULL="REMOVE_RELATION_FULL",t.ROLLBACK_FULL="ROLLBACK_FULL",t.ROLLBACK_ALL_FULL="ROLLBACK_ALL_FULL",t.PROJECT="PROJECT",t.USER="USER",t.PERMISSION="PERMISSION",t.BRICK="BRICK",t.ROUTE="ROUTE",t.TEMPLATE="TEMPLATE",t.SNIPPET="SNIPPET",t.I18N="I18N",t.IMAGE="IMAGE",t.FUNCTION="FUNCTION",t.MENU="MENU",t.MENU_ITEM="MENU_ITEM",t.WORKFLOW="WORKFLOW",t}({}),a="bricks/visual-builder/workbench-history-action",r={en:{LOAD_MORE:"Load more",LOADING:"Loading",NO_DATA:"No data",NODE:"{{ nodes }}",NODE_ellipsis:"{{ nodes }} etc., a total of {{ count }} items",ADD:"Add node",EDIT:"Edit node",DELETE:"Delete node",IMPORT:"Batch import node",CLONE:"Clone node",APPEND_RELATION:"Append Relation",UPDATE_RELATION:"Update Relation",REMOVE_RELATION:"Remove Relation",ROLLBACK:"Rollback",ROLLBACK_ALL:"Rollback all operations",ADD_FULL:"Add {{ category }} ({{ nodes }})",EDIT_FULL:"Edit {{ nodeChanges }} of {{ category }} ({{ nodes }})",DELETE_FULL:"Delete {{ category }} ({{ nodes }})",IMPORT_FULL:"Batch Import {{ category }} ({{ nodes }})",CLONE_FULL:"Clone {{ category }} ({{ nodes }})",APPEND_RELATION_FULL:"Append the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})",UPDATE_RELATION_FULL:"Update the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})",REMOVE_RELATION_FULL:"Remove the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})",ROLLBACK_FULL:"Rollback to [{{ rollbackAbstract }}]",ROLLBACK_ALL_FULL:"Rollback all operations",PROJECT:"Project",USER:"User Group",PERMISSION:"Permission",BRICK:"Brick",ROUTE:"Route",TEMPLATE:"Template",SNIPPET:"Snippet",I18N:"I18N",IMAGE:"Image",FUNCTION:"Function",MENU:"Menu",MENU_ITEM:"Menu item",WORKFLOW:"Workflow"},zh:{LOAD_MORE:"加载更多",LOADING:"加载中",NO_DATA:"没有数据",NODE:"{{ nodes }}",NODE_ellipsis:"{{ nodes }}等共{{ count }}项",ADD:"新增节点",EDIT:"编辑节点",DELETE:"删除节点",IMPORT:"批量导入节点",CLONE:"克隆节点",APPEND_RELATION:"添加关系",UPDATE_RELATION:"更新关系",REMOVE_RELATION:"移除关系",ROLLBACK:"回滚",ROLLBACK_ALL:"回滚全部操作",ADD_FULL:"新增{{ category }}({{ nodes }})",EDIT_FULL:"编辑{{ category }}({{ nodes }})的 {{ nodeChanges }}",DELETE_FULL:"删除{{ category }}({{ nodes }})",IMPORT_FULL:"批量导入{{ category }}({{ nodes }})",CLONE_FULL:"克隆{{ category }}({{ nodes }})",APPEND_RELATION_FULL:"添加{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系",UPDATE_RELATION_FULL:"更新{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系",REMOVE_RELATION_FULL:"移除{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系",ROLLBACK_FULL:"回滚到【{{ rollbackAbstract }}】",ROLLBACK_ALL_FULL:"回滚全部操作",PROJECT:"项目",USER:"用户组",PERMISSION:"权限点",BRICK:"构件",ROUTE:"路由",TEMPLATE:"模版",SNIPPET:"片段",I18N:"国际化",IMAGE:"图片",FUNCTION:"函数",MENU:"菜单",MENU_ITEM:"菜单项",WORKFLOW:"工作流"}}},8369:(t,e,n)=>{n.r(e),n.d(e,{WorkbenchHistoryAction:()=>x,WorkbenchHistoryActionComponent:()=>pt});var o,a,r,c,i,l,s,d,u,E,L,p,O,f,N,v,h,b,m,I,R=n(3028),A=n(3395),_=n(1815),g=n(381),T=n(687),y=n(2604),S=n(8657),P=n.n(S),U=n(2462),D=n(2354),k=n(7267),w=(n(9234),n(8874)),C=n.n(w),M=n(6094),K=n(7088),F=n(538),Z=n(9082),j=n(9736);(0,K.initializeReactI18n)(F.NS,F.k);var x,{defineElement:B,property:W,event:z}=(0,U.createDecorators)(),G=(0,D.wrapBrick)("eo-button"),V=(0,D.wrapBrick)("eo-link"),Y=(0,D.wrapBrick)("eo-icon"),H=(0,D.wrapBrick)("eo-easyops-avatar"),J=(0,D.wrapBrick)("eo-popover",{onVisibleChange:"visible.change",beforeVisibleChange:"before.visible.change"});a=B("visual-builder.workbench-history-action",{styleTexts:[M.Z]}),r=W(),i=W(),s=z({type:"history.item.click"}),L=z({type:"rollback"}),N=z({type:"rollback.all"});var q=new WeakMap,Q=new WeakMap,X=new WeakMap,$=new WeakMap,tt=new WeakMap,et=new WeakMap,nt=new WeakMap,ot=new WeakMap,at=new WeakMap,rt=new WeakMap,ct=new WeakMap;class it extends D.ReactNextElement{constructor(){super(...arguments),(0,A.Z)(this,rt,{get:Lt,set:Et}),(0,A.Z)(this,nt,{get:ut,set:dt}),(0,A.Z)(this,$,{get:st,set:lt}),(0,A.Z)(this,q,{writable:!0,value:(m(this),c(this))}),(0,A.Z)(this,Q,{writable:!0,value:l(this)}),(0,A.Z)(this,X,{writable:!0,value:d(this)}),(0,A.Z)(this,tt,{writable:!0,value:t=>{(0,T.Z)(this,$).emit(t)}}),(0,A.Z)(this,et,{writable:!0,value:p(this)}),(0,A.Z)(this,ot,{writable:!0,value:t=>{(0,T.Z)(this,nt).emit(t)}}),(0,A.Z)(this,at,{writable:!0,value:v(this)}),(0,A.Z)(this,ct,{writable:!0,value:()=>{(0,T.Z)(this,rt).emit()}})}get appId(){return(0,T.Z)(this,q)}set appId(t){(0,g.Z)(this,q,t)}get projectId(){return(0,T.Z)(this,Q)}set projectId(t){(0,g.Z)(this,Q,t)}render(){return P().createElement(pt,{appId:this.appId,projectId:this.projectId,onHistoryItemClick:(0,T.Z)(this,tt),onRollback:(0,T.Z)(this,ot),onRollbackAll:(0,T.Z)(this,ct)})}}function lt(t){E(this,t)}function st(){return u(this)}function dt(t){f(this,t)}function ut(){return O(this)}function Et(t){b(this,t)}function Lt(){return h(this)}function pt(t){var{appId:e,projectId:n,onHistoryItemClick:o,onRollback:a,onRollbackAll:r}=t,{t:c}=(0,K.useTranslation)(F.NS),[i,l]=(0,S.useState)(!1),[s,d]=(0,S.useState)(!0),[u,E]=(0,S.useState)(!1),[L,p]=(0,S.useState)([]),O=(0,S.useRef)(""),f=t=>{l(!0),(0,Z.b)(e,{ts:O.current,limit:20}).then((e=>{p((n=>{var o=e.list.map((t=>(0,R.Z)((0,R.Z)({},t),{},{translation:(0,j.L)(t)})));return t?o:n.concat(o)})),O.current=e.ts,E(e.list.length<20),d(e.list.length<20)})).catch((t=>{(0,k.handleHttpError)(t)})).finally((()=>{l(!1)}))};return P().createElement(J,{placement:"bottom",trigger:"click",arrow:!0,arrowColor:"var(--color-fill-bg-container-4)",beforeVisibleChange:t=>{t.detail&&(d(!0),E(!1),p([]),O.current="",f(!0))}},P().createElement(G,{slot:"anchor",shape:"circle",className:"history-action",icon:{lib:"antd",icon:"history",theme:"outlined"}}),P().createElement("div",null,P().createElement("div",{className:"history-title"},"History"),P().createElement("div",{className:"history-list"},L.length?P().createElement(P().Fragment,null,L.map(((t,e)=>P().createElement(Ot,{key:"".concat(t.uniqueKey,"-").concat(t.ts),data:t,enableRollback:0!==e&&"rollback"!==t.action,current:0===e,onHistoryItemClick:o,onRollback:a}))),!s&&P().createElement("span",{className:"load-more-container"},P().createElement(V,{className:"load-more",disabled:i,onClick:t=>f()},c(F.K.LOAD_MORE))),u&&P().createElement("span",{className:"end-container"},"The End",P().createElement(Y,{className:"rollback-all",lib:"antd",icon:"rollback",theme:"outlined",onClick:t=>r()}))):P().createElement("div",{className:"empty"},c(i?F.K.LOADING:F.K.NO_DATA))),P().createElement("slot",null)))}function Ot(t){var{data:e,enableRollback:n,current:o,onHistoryItemClick:a,onRollback:r}=t,c=C()(Number(e.ts)/1e6),i=C().duration(c.diff(C()())),l=i.days()<=-1?c.format("YYYY-MM-DD HH:mm:ss"):i.humanize(!0,{ss:0,s:60,m:60,h:24});return P().createElement("div",{className:"item-container"},P().createElement("div",{className:"item-title"},P().createElement("div",{className:"title-left",onClick:t=>a((0,R.Z)((0,R.Z)({},e),{},{enableRollback:n}))},P().createElement("div",{className:"topic",title:e.translation.abstract},e.translation.abstract),o&&P().createElement("div",{className:"branch"},"(current)")),P().createElement("div",{className:"title-right"},n&&P().createElement(Y,{className:"rollback",lib:"antd",icon:"rollback",theme:"outlined",onClick:t=>r(e)}))),P().createElement("div",{className:"item-info"},P().createElement(H,{className:"avatar",nameOrInstanceId:e.user,size:"xs"}),P().createElement("div",{className:"time"},l),P().createElement("div",{className:"operator"},e.user)))}I=it,({e:[c,l,d,u,E,p,O,f,v,h,b,m],c:[x,o]}=(0,y.Z)(I,[[r,1,"appId"],[i,1,"projectId"],[s,1,"historyItemClickEvent",t=>(0,T.Z)(t,X),(t,e)=>(0,g.Z)(t,X,e)],[L,1,"rollbackEvent",t=>(0,T.Z)(t,et),(t,e)=>(0,g.Z)(t,et,e)],[N,1,"rollbackAllEvent",t=>(0,T.Z)(t,at),(t,e)=>(0,g.Z)(t,at,e)]],[a],0,(t=>ct.has((0,_.Z)(t))),D.ReactNextElement)),o()},9736:(t,e,n)=>{n.d(e,{L:()=>s});var o=n(538),a=n(860),r={add:"".concat(o.NS,":").concat(o.K.ADD),edit:"".concat(o.NS,":").concat(o.K.EDIT),delete:"".concat(o.NS,":").concat(o.K.DELETE),batch_delete:"".concat(o.NS,":").concat(o.K.DELETE),import:"".concat(o.NS,":").concat(o.K.IMPORT),clone:"".concat(o.NS,":").concat(o.K.CLONE),append_relation:"".concat(o.NS,":").concat(o.K.APPEND_RELATION),update_relation:"".concat(o.NS,":").concat(o.K.UPDATE_RELATION),remove_relation:"".concat(o.NS,":").concat(o.K.REMOVE_RELATION),rollback:"".concat(o.NS,":").concat(o.K.ROLLBACK),rollback_all:"".concat(o.NS,":").concat(o.K.ROLLBACK_ALL)},c={add:"".concat(o.NS,":").concat(o.K.ADD_FULL),edit:"".concat(o.NS,":").concat(o.K.EDIT_FULL),delete:"".concat(o.NS,":").concat(o.K.DELETE_FULL),batch_delete:"".concat(o.NS,":").concat(o.K.DELETE_FULL),import:"".concat(o.NS,":").concat(o.K.IMPORT_FULL),clone:"".concat(o.NS,":").concat(o.K.CLONE_FULL),append_relation:"".concat(o.NS,":").concat(o.K.APPEND_RELATION_FULL),update_relation:"".concat(o.NS,":").concat(o.K.UPDATE_RELATION_FULL),remove_relation:"".concat(o.NS,":").concat(o.K.REMOVE_RELATION_FULL),rollback:"".concat(o.NS,":").concat(o.K.ROLLBACK_FULL),rollback_all:"".concat(o.NS,":").concat(o.K.ROLLBACK_ALL_FULL)},i={project:"".concat(o.NS,":").concat(o.K.PROJECT),userGroup:"".concat(o.NS,":").concat(o.K.USER),permission:"".concat(o.NS,":").concat(o.K.PERMISSION),brick:"".concat(o.NS,":").concat(o.K.BRICK),route:"".concat(o.NS,":").concat(o.K.ROUTE),template:"".concat(o.NS,":").concat(o.K.TEMPLATE),snippet:"".concat(o.NS,":").concat(o.K.SNIPPET),i18n:"".concat(o.NS,":").concat(o.K.I18N),image:"".concat(o.NS,":").concat(o.K.IMAGE),function:"".concat(o.NS,":").concat(o.K.FUNCTION),menu:"".concat(o.NS,":").concat(o.K.MENU),menuItem:"".concat(o.NS,":").concat(o.K.MENU_ITEM),workflow:"".concat(o.NS,":").concat(o.K.WORKFLOW)},l={PROJECT_MICRO_APP:"".concat(o.NS,":").concat(o.K.PROJECT),"MICRO_APP_USER_GROUP@EASYOPS":"".concat(o.NS,":").concat(o.K.USER),MICRO_APP_RESOURCE_PERMISSION:"".concat(o.NS,":").concat(o.K.PERMISSION),STORYBOARD_BRICK:"".concat(o.NS,":").concat(o.K.BRICK),STORYBOARD_ROUTE:"".concat(o.NS,":").concat(o.K.ROUTE),STORYBOARD_TEMPLATE:"".concat(o.NS,":").concat(o.K.TEMPLATE),STORYBOARD_SNIPPET:"".concat(o.NS,":").concat(o.K.SNIPPET),STORYBOARD_I18N:"".concat(o.NS,":").concat(o.K.I18N),MICRO_APP_RESOURCE_IMAGE:"".concat(o.NS,":").concat(o.K.IMAGE),STORYBOARD_FUNCTION:"".concat(o.NS,":").concat(o.K.FUNCTION),MICRO_APP_RESOURCE_MENU:"".concat(o.NS,":").concat(o.K.MENU),MICRO_APP_RESOURCE_MENU_ITEM:"".concat(o.NS,":").concat(o.K.MENU_ITEM),"WORKFLOW_DEF@EASYOPS":"".concat(o.NS,":").concat(o.K.WORKFLOW)};function s(t){var e,n,o,u,E,L,p,O,f,N,v,h,b,m,I,R,A,_="rollback"!==t.action||t.rollBackIdInfo?t.action:"rollback_all",g=a.i18n.t(null!==(e=i[t.category])&&void 0!==e?e:t.category),T=a.i18n.t(null!==(n=r[_])&&void 0!==n?n:_),y=a.i18n.t(null!==(o=l[null===(u=t.abstract)||void 0===u?void 0:u.leftObjectId])&&void 0!==o?o:null===(E=t.abstract)||void 0===E?void 0:E.leftObjectId),S=a.i18n.t(null!==(L=l[null===(p=t.abstract)||void 0===p?void 0:p.rightObjectId])&&void 0!==L?L:null===(O=t.abstract)||void 0===O?void 0:O.rightObjectId),P=d(null===(f=t.abstract)||void 0===f?void 0:f.nodes,null===(N=t.abstract)||void 0===N?void 0:N.nodesCount),U=d(null===(v=t.abstract)||void 0===v?void 0:v.leftNodes,null===(h=t.abstract)||void 0===h?void 0:h.leftNodesCount),D=d(null===(b=t.abstract)||void 0===b?void 0:b.rightNodes,null===(m=t.abstract)||void 0===m?void 0:m.rightNodesCount),k="rollback"===_?s(t.rollBackIdInfo).abstract:null;return{category:g,action:T,leftObjectId:y,rightObjectId:S,nodes:P,leftNodes:U,rightNodes:D,abstract:a.i18n.t(null!==(I=c[_])&&void 0!==I?I:_,{category:g,nodes:P,leftNodes:U,rightNodes:D,nodeChanges:null===(R=t.abstract)||void 0===R||null===(R=R.nodeChanges)||void 0===R?void 0:R.join(", "),relationChanges:null===(A=t.abstract)||void 0===A||null===(A=A.relationChanges)||void 0===A?void 0:A.join(", "),leftObjectId:y,rightObjectId:S,rollbackAbstract:k}),rollbackAbstract:k}}function d(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:", ";return a.i18n.t("".concat(o.NS,":").concat(o.K.NODE),{nodes:t.join(n),context:e>t.length?"ellipsis":void 0,count:e})}},6094:(t,e,n)=>{n.d(e,{Z:()=>i});var o=n(9601),a=n.n(o),r=n(2609),c=n.n(r)()(a());c.push([t.id,":host{display:inline-block}:host([hidden]){display:none}eo-popover::part(popup){width:800px;max-width:60vw;padding:10px;background:var(--color-fill-bg-container-4);border-radius:var(--medius-border-radius);box-shadow:var(--feedback-container-shadow);z-index:1000}.history-title{font-size:var(--title-font-size);font-weight:var(--font-weight-500);color:var(--color-strong-text);margin-bottom:5px}.history-list{max-height:500px;overflow-y:auto}.item-container{padding:10px 0;display:flex;flex-direction:column;gap:5px}.empty{padding:5px 0 10px 0;font-size:14px;color:var(--text-color-secondary);text-align:center}.item-container:not(:last-of-type){border-bottom:1px solid var(--color-border-divider-line)}.item-title{display:flex;align-items:center;justify-content:space-between;gap:5px}.title-left,\n.title-right{display:flex;align-items:center}.title-left{cursor:pointer;overflow:hidden;gap:5px}.topic{font-size:14px;color:var(--text-color-title);font-weight:var(--font-weight-500);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.branch{font-size:14px;color:var(--text-color-secondary)}.rollback{margin-right:5px;font-size:14px;color:var(--text-color-secondary);cursor:pointer}.rollback:hover{color:var(--color-brand)}.item-info{display:flex;align-items:center;gap:5px}.time,\n.operator{font-size:14px;color:var(--text-color-secondary)}.load-more-container{display:block;text-align:center}.end-container{display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;color:var(--color-brand)}.rollback-all{cursor:pointer}",""]);const i=c.toString()},2609:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",o=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),o&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),o&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,o,a,r){"string"==typeof t&&(t=[[null,t,void 0]]);var c={};if(o)for(var i=0;i<this.length;i++){var l=this[i][0];null!=l&&(c[l]=!0)}for(var s=0;s<t.length;s++){var d=[].concat(t[s]);o&&c[d[0]]||(void 0!==r&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=r),n&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=n):d[2]=n),a&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=a):d[4]="".concat(a)),e.push(d))}},e}},9601:t=>{t.exports=function(t){return t[1]}},2604:(t,e,n)=>{n.d(e,{Z:()=>E});var o=n(6522),a=n(1815);function r(t,e){return function(n,o){return t[e].call(n,o)}}function c(t,e){return function(n){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished");l(n,"An initializer",!0),t.push(n)}}function i(t,e,n,o,a,i,l,s,d,u,E){function L(t){return function(e,n){if(!u(e))throw new TypeError("Attempted to access private element on non-instance");return t(e,n)}}var p,O,f={v:!1},N={kind:["field","accessor","method","getter","setter","field"][i],name:s?"#"+n:n,static:l,private:s,metadata:E,addInitializer:c(a,f)};if(s||0!==i&&2!==i)if(2===i)p=L((function(){return o.value}));else{var v=0===i||1===i;(v||3===i)&&(p=r(o,"get"),s&&(p=L(p))),(v||4===i)&&(O=r(o,"set"),s&&(O=L(O)))}else p=function(t){return t[n]},0===i&&(O=function(t,e){t[n]=e});var h=s?u.bind():function(t){return n in t},b=N.access={has:h};p&&(b.get=p),O&&(b.set=O);try{return t.call(e,d,N)}finally{f.v=!0}}function l(t,e,n){if("function"!=typeof t&&(n||void 0!==t))throw new TypeError(e+" must be a function")}function s(t,e){var n=(0,o.Z)(e);if(1===t){if("object"!==n||!e)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");l(e.get,"accessor.get"),l(e.set,"accessor.set"),l(e.init,"accessor.init")}else if("function"!==n)throw new TypeError((0===t?"field":5===t?"class":"method")+" decorators must return a function or void 0")}function d(t,e,n,o,a,c,l,d,u,E,L){var p,O,f,N,v=n[0],h=n[3];o||Array.isArray(v)||(v=[v]),d?p=0===c||1===c?{get:function(){return h(this)},set:function(t){n[4](this,t)}}:3===c?{get:h}:4===c?{set:h}:{value:h}:0!==c&&(p=Object.getOwnPropertyDescriptor(e,a)),1===c?f={get:p.get,set:p.set}:2===c?f=p.value:3===c?f=p.get:4===c&&(f=p.set);for(var b=o?2:1,m=v.length-1;m>=0;m-=b){var I;void 0!==(N=i(v[m],o?v[m-1]:void 0,a,p,u,c,l,d,f,E,L))&&(s(c,N),0===c?I=N:1===c?(I=N.init,f={get:N.get||f.get,set:N.set||f.set}):f=N,void 0!==I&&(void 0===O?O=I:"function"==typeof O?O=[O,I]:O.push(I)))}if(0===c||1===c){if(void 0===O)O=function(t,e){return e};else if("function"!=typeof O){var R=O;O=function(t,e){for(var n=e,o=R.length-1;o>=0;o--)n=R[o].call(t,n);return n}}else{var A=O;O=O.call.bind(A)}t.push(O)}0!==c&&(1===c?(p.get=f.get,p.set=f.set):2===c?p.value=f:3===c?p.get=f:4===c&&(p.set=f),d?1===c?t.push(r(p,"get"),r(p,"set")):t.push(2===c?f:Function.call.bind(f)):Object.defineProperty(e,a,p))}function u(t,e){return Object.defineProperty(t,Symbol.metadata||Symbol.for("Symbol.metadata"),{configurable:!0,enumerable:!0,value:e})}function E(t,e,n,o,r,i){if(arguments.length>=6)var l=i[Symbol.metadata||Symbol.for("Symbol.metadata")];var E=Object.create(void 0===l?null:l),L=function(t,e,n,o){var r,c,i,l=[],s=new Map,u=new Map;function E(t){t&&l.push((function(e){for(var n=0;n<t.length;n++)t[n].call(e);return e}))}for(var L=0;L<e.length;L++){var p=e[L];if(Array.isArray(p)){var O,f,N=p[1],v=p[2],h=p.length>3,b=16&N,m=!!(8&N),I=n;if(N&=7,m?(O=t,f=c=c||[],h&&!i&&(i=function(e){return(0,a.Z)(e)===t}),I=i):(O=t.prototype,f=r=r||[]),0!==N&&!h){var R=m?u:s,A=R.get(v)||0;if(!0===A||3===A&&4!==N||4===A&&3!==N)throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+v);R.set(v,!(!A&&N>2)||N)}d(l,O,p,b,v,N,m,h,f,I,o)}}return E(r),E(c),l}(t,e,r,E);return n.length||u(t,E),{e:L,get c(){return function(t,e,n,o){if(e.length){for(var a=[],r=t,i=t.name,l=n?2:1,d=e.length-1;d>=0;d-=l){var E={v:!1};try{var L=e[d].call(n?e[d-1]:void 0,r,{kind:"class",name:i,addInitializer:c(a,E),metadata:o})}finally{E.v=!0}void 0!==L&&(s(5,L),r=L)}return[u(r,o),function(){for(var t=0;t<a.length;t++)a[t].call(r)}]}}(t,n,o,E)}}}},4795:(t,e,n)=>{function o(t,e,n,o,a,r,c){try{var i=t[r](c),l=i.value}catch(t){return void n(t)}i.done?e(l):Promise.resolve(l).then(o,a)}function a(t){return function(){var e=this,n=arguments;return new Promise((function(a,r){var c=t.apply(e,n);function i(t){o(c,a,r,i,l,"next",t)}function l(t){o(c,a,r,i,l,"throw",t)}i(void 0)}))}}n.d(e,{Z:()=>a})},1815:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(6522);function a(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==t?(0,o.Z)(t):"null"));return t}},5863:(t,e,n)=>{function o(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(e,{Z:()=>o})},175:(t,e,n)=>{function o(t,e,n){if(!e.has(t))throw new TypeError("attempted to "+n+" private field on non-instance");return e.get(t)}n.d(e,{Z:()=>o})},687:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(175);function a(t,e){return function(t,e){return e.get?e.get.call(t):e.value}(t,(0,o.Z)(t,e,"get"))}},3395:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(5863);function a(t,e,n){(0,o.Z)(t,e),e.set(t,n)}},381:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(175);function a(t,e,n){return function(t,e,n){if(e.set)e.set.call(t,n);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=n}}(t,(0,o.Z)(t,e,"set"),n),n}},6666:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(5850);function a(t,e,n){return(e=(0,o.Z)(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},3028:(t,e,n)=>{n.d(e,{Z:()=>r});var o=n(6666);function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach((function(e){(0,o.Z)(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}},5850:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(6522);function a(t){var e=function(t,e){if("object"!==(0,o.Z)(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var a=n.call(t,"string");if("object"!==(0,o.Z)(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===(0,o.Z)(e)?e:String(e)}},6522:(t,e,n)=>{function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}n.d(e,{Z:()=>o})},9082:(t,e,n)=>{n.d(e,{b:()=>c});var o=n(3028),a=n(4795),r=n(663),c=function(){var t=(0,a.Z)((function*(t,e,n){return(yield r.http.get("api/gateway/next_builder.workspace.GetChangeHistory/api/v1/next-builder/workspace/".concat(t,"/changes"),(0,o.Z)((0,o.Z)({},n),{},{params:e}))).data}));return function(e,n,o){return t.apply(this,arguments)}}()}}]);
3
- //# sourceMappingURL=workbench-history-action.befdf83a.js.map