@next-bricks/visual-builder 1.5.1 → 1.5.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 (28) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/{1876.f201fa37.js → 1876.3eb6dfd2.js} +3 -3
  3. package/dist/chunks/{1876.f201fa37.js.map → 1876.3eb6dfd2.js.map} +1 -1
  4. package/dist/chunks/3322.461a0488.js +2 -0
  5. package/dist/chunks/3322.461a0488.js.map +1 -0
  6. package/dist/chunks/{4724.c751ae2d.js → 4724.977bdfa3.js} +2 -2
  7. package/dist/chunks/{4724.c751ae2d.js.map → 4724.977bdfa3.js.map} +1 -1
  8. package/dist/chunks/592.8e4d9195.js +3 -0
  9. package/dist/chunks/592.8e4d9195.js.map +1 -0
  10. package/dist/chunks/{9784.4c1d3d90.js → 9784.7644184b.js} +3 -3
  11. package/dist/chunks/{9784.4c1d3d90.js.map → 9784.7644184b.js.map} +1 -1
  12. package/dist/chunks/{main.2f29f594.js → main.99296b2a.js} +2 -2
  13. package/dist/chunks/{main.2f29f594.js.map → main.99296b2a.js.map} +1 -1
  14. package/dist/chunks/{workbench-action-list.fdf58701.js → workbench-action-list.38fd8840.js} +2 -2
  15. package/dist/chunks/{workbench-action-list.fdf58701.js.map → workbench-action-list.38fd8840.js.map} +1 -1
  16. package/dist/chunks/{workbench-history-action.74149de5.js → workbench-history-action.61562660.js} +3 -3
  17. package/dist/chunks/{workbench-history-action.74149de5.js.map → workbench-history-action.61562660.js.map} +1 -1
  18. package/dist/{index.2da40318.js → index.426b8719.js} +2 -2
  19. package/dist/{index.2da40318.js.map → index.426b8719.js.map} +1 -1
  20. package/package.json +3 -3
  21. package/dist/chunks/3322.690ec4f9.js +0 -2
  22. package/dist/chunks/3322.690ec4f9.js.map +0 -1
  23. package/dist/chunks/592.dc063ee7.js +0 -3
  24. package/dist/chunks/592.dc063ee7.js.map +0 -1
  25. /package/dist/chunks/{1876.f201fa37.js.LICENSE.txt → 1876.3eb6dfd2.js.LICENSE.txt} +0 -0
  26. /package/dist/chunks/{592.dc063ee7.js.LICENSE.txt → 592.8e4d9195.js.LICENSE.txt} +0 -0
  27. /package/dist/chunks/{9784.4c1d3d90.js.LICENSE.txt → 9784.7644184b.js.LICENSE.txt} +0 -0
  28. /package/dist/chunks/{workbench-history-action.74149de5.js.LICENSE.txt → workbench-history-action.61562660.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/1876.f201fa37.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/page-arch-node/index.tsx","webpack:///./src/page-arch-node/styles.shadow.css","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/**\n * @insider\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/**\n * @insider\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 type {\n GeneralIcon,\n GeneralIconProps,\n} 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>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface WorkbenchActionProps {\n icon?: GeneralIconProps;\n to?: string;\n target?: string;\n active?: boolean;\n href?: string;\n}\n\n/**\n * @insider\n */\nexport\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","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 // Allow `?k=` to match `?` (when `k` doesn't exist)\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 && item.activeMatchSearch) {\n match = getMatchOfSearch(search, to.search);\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 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/**\n * @insider\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 * @insider\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 * @insider\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, onHistoryItemClick, onRollback, onRollbackAll } = 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={() => 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={() => 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={() => 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={() => 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","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport classNames from \"classnames\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\n\nconst autoFocusedSets = new Set<string>();\n\nexport interface PageArchNodeProps {\n label?: string;\n type?: PageArchNodeType;\n active?: boolean;\n external?: ExtraNodeData;\n subNodes?: ExtraNodeData[];\n autoFocusOnce?: string;\n notSynced?: boolean;\n disableChildAppend?: boolean;\n}\n\nexport interface ExtraNodeData {\n label: string;\n id: string;\n}\n\nexport interface SubNodeContextMenuData extends ContextMenuDetail {\n node: ExtraNodeData;\n}\n\nexport interface ContextMenuDetail {\n clientX: number;\n clientY: number;\n}\n\nexport type PageArchNodeType = \"page\" | \"board\";\n\n/**\n * 构件 `visual-builder.page-arch-node`\n */\nexport\n@defineElement(\"visual-builder.page-arch-node\", {\n styleTexts: [styleText],\n})\nclass PageArchNode extends ReactNextElement implements PageArchNodeProps {\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor type: PageArchNodeType | undefined;\n\n @property({ attribute: false })\n accessor external: ExtraNodeData | undefined;\n\n @property({ attribute: false })\n accessor subNodes: ExtraNodeData[] | undefined;\n\n // @property()\n // accessor thumbnail: string | undefined;\n\n @property({ type: Boolean, render: false })\n accessor active: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor notSynced: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor disableChildAppend: boolean | undefined;\n\n @property()\n accessor autoFocusOnce: string | undefined;\n\n @event({ type: \"label.editing.change\" })\n accessor #labelEditingChange: EventEmitter<boolean>;\n\n #handleLabelEditingChange = (value: boolean) => {\n this.#labelEditingChange.emit(value);\n };\n\n @event({ type: \"label.change\" })\n accessor #labelChange: EventEmitter<string>;\n\n #handleLabelChange = (value: string) => {\n this.#labelChange.emit(value);\n };\n\n @event({ type: \"node.click\" })\n accessor #nodeClick: EventEmitter<void>;\n\n #handleNodeClick = () => {\n this.#nodeClick.emit();\n };\n\n @event({ type: \"node.dblclick\" })\n accessor #nodeDoubleClick: EventEmitter<void>;\n\n #handleNodeDoubleClick = () => {\n this.#nodeDoubleClick.emit();\n };\n\n @event({ type: \"node.contextmenu\" })\n accessor #nodeContextMenu: EventEmitter<ContextMenuDetail>;\n\n #handleNodeContextMenu = (data: ContextMenuDetail) => {\n this.#nodeContextMenu.emit(data);\n };\n\n @event({ type: \"child.append\" })\n accessor #childAppend: EventEmitter<void>;\n\n #handleChildAppend = () => {\n this.#childAppend.emit();\n };\n\n @event({ type: \"external.click\" })\n accessor #externalClick: EventEmitter<ExtraNodeData>;\n\n #handleExternalClick = (data: ExtraNodeData) => {\n this.#externalClick.emit(data);\n };\n\n @event({ type: \"subNode.dblclick\" })\n accessor #subNodeDoubleClick: EventEmitter<ExtraNodeData>;\n\n #handleSubNodeDoubleClick = (data: ExtraNodeData) => {\n this.#subNodeDoubleClick.emit(data);\n };\n\n @event({ type: \"subNode.contextmenu\" })\n accessor #subNodeContextMenu: EventEmitter<SubNodeContextMenuData>;\n\n #handleSubNodeContextMenu = (data: SubNodeContextMenuData) => {\n this.#subNodeContextMenu.emit(data);\n };\n\n render() {\n return (\n <PageArchNodeComponent\n label={this.label}\n type={this.type}\n external={this.external}\n subNodes={this.subNodes}\n autoFocusOnce={this.autoFocusOnce}\n onLabelEditingChange={this.#handleLabelEditingChange}\n onLabelChange={this.#handleLabelChange}\n onNodeClick={this.#handleNodeClick}\n onNodeDoubleClick={this.#handleNodeDoubleClick}\n onNodeContextMenu={this.#handleNodeContextMenu}\n onChildAppend={this.#handleChildAppend}\n onExternalClick={this.#handleExternalClick}\n onSubNodeDoubleClick={this.#handleSubNodeDoubleClick}\n onSubNodeContextMenu={this.#handleSubNodeContextMenu}\n />\n );\n }\n}\n\nexport interface PageArchNodeComponentProps extends PageArchNodeProps {\n onLabelEditingChange?(value: boolean): void;\n onLabelChange?(value: string): void;\n onNodeClick?(): void;\n onNodeDoubleClick?(): void;\n onNodeContextMenu?(data: ContextMenuDetail): void;\n onChildAppend?(): void;\n onExternalClick?(data: ExtraNodeData): void;\n onSubNodeDoubleClick?(data: ExtraNodeData): void;\n onSubNodeContextMenu?(data: SubNodeContextMenuData): void;\n}\n\nexport function PageArchNodeComponent({\n label,\n type: _type,\n external,\n subNodes,\n autoFocusOnce,\n onLabelEditingChange,\n onLabelChange,\n onNodeClick,\n onNodeDoubleClick,\n onNodeContextMenu,\n onChildAppend,\n onExternalClick,\n onSubNodeDoubleClick,\n onSubNodeContextMenu,\n}: PageArchNodeComponentProps) {\n const type = _type === \"board\" ? \"board\" : \"page\";\n const [currentLabel, setCurrentLabel] = useState(label);\n const [editingLabel, setEditingLabel] = useState(false);\n const editingLabelInitialized = useRef(false);\n const [shouldEmitLabelChange, setShouldEmitLabelChange] = useState(false);\n const labelInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n setCurrentLabel(label);\n }, [label]);\n\n const handleEditLabel = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setEditingLabel(true);\n }, []);\n\n useEffect(() => {\n if (autoFocusOnce && !autoFocusedSets.has(autoFocusOnce)) {\n autoFocusedSets.add(autoFocusOnce);\n setTimeout(() => {\n setEditingLabel(true);\n }, 1);\n }\n }, [autoFocusOnce]);\n\n useEffect(() => {\n if (editingLabel) {\n // Prevent scroll when focusing.\n // Otherwise the diagram svg may be clipped in Chrome.\n labelInputRef.current?.focus({ preventScroll: true });\n labelInputRef.current?.select();\n }\n }, [editingLabel]);\n\n useEffect(() => {\n if (editingLabelInitialized.current) {\n onLabelEditingChange?.(editingLabel);\n } else {\n editingLabelInitialized.current = true;\n }\n }, [editingLabel, onLabelEditingChange]);\n\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentLabel(event.target.value);\n },\n []\n );\n\n const handleInputKeydown = useCallback((event: React.KeyboardEvent) => {\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n if (key === \"Enter\" || key === 13) {\n labelInputRef.current?.blur();\n }\n }, []);\n\n const handleInputBlur = useCallback(() => {\n setEditingLabel(false);\n setShouldEmitLabelChange(true);\n }, []);\n\n useEffect(() => {\n if (shouldEmitLabelChange) {\n onLabelChange?.(currentLabel);\n setShouldEmitLabelChange(false);\n }\n }, [currentLabel, onLabelChange, shouldEmitLabelChange]);\n\n const handleChildAppend = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n onChildAppend?.();\n },\n [onChildAppend]\n );\n\n const handleExternalClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n onExternalClick?.(external);\n },\n [external, onExternalClick]\n );\n\n const stopPropagation = useCallback((e: React.MouseEvent) => {\n e.stopPropagation();\n }, []);\n\n // 32 + 8\n const extraHeight = Math.max(0, Math.floor((subNodes?.length ?? 0) - 3)) * 38;\n\n return (\n <>\n <div\n className={classNames(\"node\", type, { \"editing-label\": editingLabel })}\n style={{ height: type === \"board\" ? 70 : 130 + extraHeight }}\n onClick={onNodeClick}\n onDoubleClick={onNodeDoubleClick}\n onContextMenu={(e) => {\n e.stopPropagation();\n e.preventDefault();\n onNodeContextMenu?.({\n clientX: e.clientX,\n clientY: e.clientY,\n });\n }}\n >\n <input\n className=\"label-input\"\n value={currentLabel}\n ref={labelInputRef}\n onChange={handleInputChange}\n onKeyDown={handleInputKeydown}\n onBlur={handleInputBlur}\n onDoubleClick={stopPropagation}\n onContextMenu={stopPropagation}\n onMouseDown={stopPropagation}\n />\n <div\n className=\"label\"\n onDoubleClick={handleEditLabel}\n onMouseDown={stopPropagation}\n >\n {currentLabel}\n </div>\n {type === \"board\" ? (\n <div className=\"icon-container\">\n <WrappedIcon lib=\"antd\" icon=\"unordered-list\" />\n </div>\n ) : (\n <div\n className=\"thumbnail-container\"\n style={{\n height: 98 + extraHeight,\n }}\n >\n <div className=\"thumbnail-placeholder\">\n <WrappedIcon lib=\"antd\" icon=\"ellipsis\" />\n </div>\n {external && (\n <div\n className=\"external\"\n onClick={handleExternalClick}\n onDoubleClick={stopPropagation}\n onMouseDown={stopPropagation}\n >\n <WrappedIcon lib=\"antd\" icon=\"desktop\" />\n <span className=\"external-label\">{external.label}</span>\n </div>\n )}\n {subNodes?.length ? (\n <div className=\"sub-nodes\">\n {subNodes.map((subNode) => (\n <SubNode\n key={subNode.id}\n subNode={subNode}\n onSubNodeDoubleClick={onSubNodeDoubleClick}\n onSubNodeContextMenu={onSubNodeContextMenu}\n />\n ))}\n </div>\n ) : null}\n </div>\n )}\n </div>\n <div\n className=\"add-button\"\n role=\"button\"\n onClick={handleChildAppend}\n onMouseDown={stopPropagation}\n >\n <WrappedIcon lib=\"fa\" icon=\"plus\" />\n </div>\n </>\n );\n}\n\nexport interface SubNodeProps {\n subNode: ExtraNodeData;\n onSubNodeDoubleClick?(data: ExtraNodeData): void;\n onSubNodeContextMenu?(data: SubNodeContextMenuData): void;\n}\n\nfunction SubNode({\n subNode,\n onSubNodeDoubleClick,\n onSubNodeContextMenu,\n}: SubNodeProps) {\n return (\n <WrappedTooltip key={subNode.id} content={subNode.label}>\n <div\n className=\"sub-node\"\n onDoubleClick={(e) => {\n e.stopPropagation();\n onSubNodeDoubleClick?.(subNode);\n }}\n onContextMenu={(e) => {\n e.stopPropagation();\n e.preventDefault();\n onSubNodeContextMenu?.({\n node: subNode,\n clientX: e.clientX,\n clientY: e.clientY,\n });\n }}\n >\n <div className=\"sub-node-skeleton-title\"></div>\n <div className=\"sub-node-skeleton-content\"></div>\n <div className=\"sub-node-skeleton-button\"></div>\n </div>\n </WrappedTooltip>\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, `:host{--local-node-outline-style:solid;display:block}:host([hidden]){display:none}:host([not-synced]){--local-node-outline-style:dashed}*{box-sizing:border-box}.node{width:168px;max-width:none;height:130px;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.node.board{height:70px;max-width:168px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding-bottom:4px}.label,\n.label-input{width:100%;height:24px;padding:3px;border:none;line-height:18px;font-size:var(--sub-title-font-size-small);color:var(--color-header-text);font-weight:var(--font-weight-500);text-align:center;font-family:inherit;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.node.editing-label .label{height:0}.node:not(.editing-label) .label-input{display:none}.add-button,\n.icon-container,\n.thumbnail-container,\n.thumbnail-placeholder{display:flex;align-items:center;justify-content:center}.thumbnail-container{height:98px;outline:1px var(--local-node-outline-style) var(--palette-gray-4);opacity:1;border:4px solid transparent;border-radius:4px;width:100%;position:relative;flex-direction:column}.thumbnail-placeholder{color:var(--palette-gray-5);font-size:36px;flex:1}.icon-container{font-size:20px;background-color:var(--palette-teal-6);color:var(--palette-gray-4);width:36px;height:36px;border-radius:50%;outline-offset:4px}:host([active]) .thumbnail-container,\n:host([active]) .icon-container{outline:2px var(--local-node-outline-style) var(--palette-blue-3)}:host(:not([active])) .node:hover .thumbnail-container,\n:host(:not([active])) .node:hover .icon-container{outline:1px var(--local-node-outline-style) var(--palette-blue-3)}.add-button{position:absolute;bottom:-26px;left:calc(50% - 12px);width:24px;height:24px;background:var(--palette-gray-3);color:var(--palette-gray-6);border-radius:50%;cursor:pointer}:host([not-synced]) .add-button,\n:host([disable-child-append]) .add-button,\n:host(:not([active])) .add-button{display:none}.add-button:hover{background:var(--palette-blue-5);color:var(--palette-gray-2)}.external{position:absolute;top:4px;left:4px;padding:0 10px;display:flex;align-items:center;gap:6px;background:var(--palette-purple-4);font-size:12px;line-height:20px;height:22px;cursor:pointer;color:var(--palette-gray-1);border-radius:9999px;right:4px;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content}.external-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.external:hover{background:var(--palette-purple-5)}.sub-nodes{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:6px;gap:6px;width:100%}.sub-node{background-color:var(--palette-gray-2);border-radius:4px;padding:6px;display:flex;flex-direction:column;justify-content:space-between;height:32px}.sub-node-skeleton-title{width:18px;height:4px;border-radius:2px;align-self:flex-start;background-color:var(--palette-gray-4)}.sub-node-skeleton-content{width:100%;height:4px;border-radius:2px;background-color:var(--palette-gray-4)}.sub-node-skeleton-button{width:18px;height:4px;border-radius:2px;align-self:flex-end;background-color:var(--palette-blue-3)}.sub-node:hover{background-color:var(--palette-gray-3)}.sub-node:hover .sub-node-skeleton-title,\n.sub-node:hover .sub-node-skeleton-content{background-color:var(--palette-gray-5)}.sub-node:hover .sub-node-skeleton-button{background-color:var(--palette-blue-4)}`, \"\"]);\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, `.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","_classDecs","styleTexts","styleText","sharedStyle","_dec","_dec2","type","Boolean","_dec3","Number","_dec4","_dec5","_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","_WorkbenchPane2","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","_WorkbenchSidebar2","_WorkbenchAction","WrapLink","attribute","WorkbenchAction","_init_icon","_init_to","_init_href","_init_target","to","href","WorkbenchActionComponent","url","_WorkbenchAction2","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","activeMatchSearch","getMatchOfSearch","isArray","activeIncludes","include","_parseInclude","parseInclude","hasSearch","includes","activeExcludes","_include","matchMenuItem","keyPath","split","i","slice","join","currentSearch","toSearch","URLSearchParams","entries","_current$get","_WorkbenchActionList","WrapperWorkbenchAction","currentAppId","WorkbenchActionList","_init_appId","_init_menu","appId","menu","WorkbenchActionListComponent","_WorkbenchActionList2","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","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_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","_WorkbenchTreeElement2","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","_WorkbenchHistoryAction","_PageArchNode","WrappedTooltip","autoFocusedSets","Set","_labelEditingChange","_handleLabelEditingChange","_labelChange","_handleLabelChange","_nodeClick","_handleNodeClick","_nodeDoubleClick","_handleNodeDoubleClick","_nodeContextMenu","_handleNodeContextMenu","_childAppend","_handleChildAppend","_externalClick","_handleExternalClick","_subNodeDoubleClick","_handleSubNodeDoubleClick","_subNodeContextMenu","_handleSubNodeContextMenu","PageArchNode","_get_subNodeContextMenu2","_set_subNodeContextMenu2","_get_subNodeDoubleClick2","_set_subNodeDoubleClick2","_get_externalClick2","_set_externalClick2","_get_childAppend2","_set_childAppend2","_get_nodeContextMenu2","_set_nodeContextMenu2","_get_nodeDoubleClick2","_set_nodeDoubleClick2","_get_nodeClick2","_set_nodeClick2","_get_labelChange2","_set_labelChange2","_get_labelEditingChange2","_set_labelEditingChange2","_init_label","_init_type","_init_external","_init_subNodes","_init_notSynced","_init_disableChildAppend","_init_autoFocusOnce","_init_labelEditingChange","_init_labelChange","_init_nodeClick","_init_nodeDoubleClick","_init_nodeContextMenu","_init_childAppend","_init_externalClick","_init_subNodeDoubleClick","_init_subNodeContextMenu","label","external","subNodes","notSynced","disableChildAppend","autoFocusOnce","PageArchNodeComponent","onLabelEditingChange","onLabelChange","onNodeClick","onNodeDoubleClick","onNodeContextMenu","onChildAppend","onExternalClick","onSubNodeDoubleClick","onSubNodeContextMenu","_set_labelEditingChange","_get_labelEditingChange","_set_labelChange","_get_labelChange","_set_nodeClick","_get_nodeClick","_set_nodeDoubleClick","_get_nodeDoubleClick","_set_nodeContextMenu","_get_nodeContextMenu","_set_childAppend","_get_childAppend","_set_externalClick","_get_externalClick","_set_subNodeDoubleClick","_get_subNodeDoubleClick","_set_subNodeContextMenu","_get_subNodeContextMenu","_subNodes$length","_type","currentLabel","setCurrentLabel","editingLabel","setEditingLabel","editingLabelInitialized","shouldEmitLabelChange","setShouldEmitLabelChange","labelInputRef","handleEditLabel","stopPropagation","setTimeout","_labelInputRef$curren","_labelInputRef$curren2","focus","preventScroll","select","handleInputChange","handleInputKeydown","_labelInputRef$curren3","keyCode","which","blur","handleInputBlur","handleChildAppend","handleExternalClick","extraHeight","Math","max","floor","height","onDoubleClick","onContextMenu","onChange","onKeyDown","onBlur","onMouseDown","subNode","SubNode","id","role","_ref2","content","_PageArchNode2","___CSS_LOADER_EXPORT___","module","toString"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/1876.3eb6dfd2.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/page-arch-node/index.tsx","webpack:///./src/page-arch-node/styles.shadow.css","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/**\n * @insider\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/**\n * @insider\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 type {\n GeneralIcon,\n GeneralIconProps,\n} 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>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface WorkbenchActionProps {\n icon?: GeneralIconProps;\n to?: string;\n target?: string;\n active?: boolean;\n href?: string;\n}\n\n/**\n * @insider\n */\nexport\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","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 // Allow `?k=` to match `?` (when `k` doesn't exist)\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 && item.activeMatchSearch) {\n match = getMatchOfSearch(search, to.search);\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 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/**\n * @insider\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 * @insider\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 * @insider\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, onHistoryItemClick, onRollback, onRollbackAll } = 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={() => 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={() => 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={() => 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={() => 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","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport classNames from \"classnames\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\n\nconst autoFocusedSets = new Set<string>();\n\nexport interface PageArchNodeProps {\n label?: string;\n type?: PageArchNodeType;\n active?: boolean;\n external?: ExtraNodeData;\n subNodes?: ExtraNodeData[];\n autoFocusOnce?: string;\n notSynced?: boolean;\n disableChildAppend?: boolean;\n}\n\nexport interface ExtraNodeData {\n label: string;\n id: string;\n}\n\nexport interface SubNodeContextMenuData extends ContextMenuDetail {\n node: ExtraNodeData;\n}\n\nexport interface ContextMenuDetail {\n clientX: number;\n clientY: number;\n}\n\nexport type PageArchNodeType = \"page\" | \"board\";\n\n/**\n * 构件 `visual-builder.page-arch-node`\n */\nexport\n@defineElement(\"visual-builder.page-arch-node\", {\n styleTexts: [styleText],\n})\nclass PageArchNode extends ReactNextElement implements PageArchNodeProps {\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor type: PageArchNodeType | undefined;\n\n @property({ attribute: false })\n accessor external: ExtraNodeData | undefined;\n\n @property({ attribute: false })\n accessor subNodes: ExtraNodeData[] | undefined;\n\n // @property()\n // accessor thumbnail: string | undefined;\n\n @property({ type: Boolean, render: false })\n accessor active: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor notSynced: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor disableChildAppend: boolean | undefined;\n\n @property()\n accessor autoFocusOnce: string | undefined;\n\n @event({ type: \"label.editing.change\" })\n accessor #labelEditingChange: EventEmitter<boolean>;\n\n #handleLabelEditingChange = (value: boolean) => {\n this.#labelEditingChange.emit(value);\n };\n\n @event({ type: \"label.change\" })\n accessor #labelChange: EventEmitter<string>;\n\n #handleLabelChange = (value: string) => {\n this.#labelChange.emit(value);\n };\n\n @event({ type: \"node.click\" })\n accessor #nodeClick: EventEmitter<void>;\n\n #handleNodeClick = () => {\n this.#nodeClick.emit();\n };\n\n @event({ type: \"node.dblclick\" })\n accessor #nodeDoubleClick: EventEmitter<void>;\n\n #handleNodeDoubleClick = () => {\n this.#nodeDoubleClick.emit();\n };\n\n @event({ type: \"node.contextmenu\" })\n accessor #nodeContextMenu: EventEmitter<ContextMenuDetail>;\n\n #handleNodeContextMenu = (data: ContextMenuDetail) => {\n this.#nodeContextMenu.emit(data);\n };\n\n @event({ type: \"child.append\" })\n accessor #childAppend: EventEmitter<void>;\n\n #handleChildAppend = () => {\n this.#childAppend.emit();\n };\n\n @event({ type: \"external.click\" })\n accessor #externalClick: EventEmitter<ExtraNodeData>;\n\n #handleExternalClick = (data: ExtraNodeData) => {\n this.#externalClick.emit(data);\n };\n\n @event({ type: \"subNode.dblclick\" })\n accessor #subNodeDoubleClick: EventEmitter<ExtraNodeData>;\n\n #handleSubNodeDoubleClick = (data: ExtraNodeData) => {\n this.#subNodeDoubleClick.emit(data);\n };\n\n @event({ type: \"subNode.contextmenu\" })\n accessor #subNodeContextMenu: EventEmitter<SubNodeContextMenuData>;\n\n #handleSubNodeContextMenu = (data: SubNodeContextMenuData) => {\n this.#subNodeContextMenu.emit(data);\n };\n\n render() {\n return (\n <PageArchNodeComponent\n label={this.label}\n type={this.type}\n external={this.external}\n subNodes={this.subNodes}\n autoFocusOnce={this.autoFocusOnce}\n onLabelEditingChange={this.#handleLabelEditingChange}\n onLabelChange={this.#handleLabelChange}\n onNodeClick={this.#handleNodeClick}\n onNodeDoubleClick={this.#handleNodeDoubleClick}\n onNodeContextMenu={this.#handleNodeContextMenu}\n onChildAppend={this.#handleChildAppend}\n onExternalClick={this.#handleExternalClick}\n onSubNodeDoubleClick={this.#handleSubNodeDoubleClick}\n onSubNodeContextMenu={this.#handleSubNodeContextMenu}\n />\n );\n }\n}\n\nexport interface PageArchNodeComponentProps extends PageArchNodeProps {\n onLabelEditingChange?(value: boolean): void;\n onLabelChange?(value: string): void;\n onNodeClick?(): void;\n onNodeDoubleClick?(): void;\n onNodeContextMenu?(data: ContextMenuDetail): void;\n onChildAppend?(): void;\n onExternalClick?(data: ExtraNodeData): void;\n onSubNodeDoubleClick?(data: ExtraNodeData): void;\n onSubNodeContextMenu?(data: SubNodeContextMenuData): void;\n}\n\nexport function PageArchNodeComponent({\n label,\n type: _type,\n external,\n subNodes,\n autoFocusOnce,\n onLabelEditingChange,\n onLabelChange,\n onNodeClick,\n onNodeDoubleClick,\n onNodeContextMenu,\n onChildAppend,\n onExternalClick,\n onSubNodeDoubleClick,\n onSubNodeContextMenu,\n}: PageArchNodeComponentProps) {\n const type = _type === \"board\" ? \"board\" : \"page\";\n const [currentLabel, setCurrentLabel] = useState(label);\n const [editingLabel, setEditingLabel] = useState(false);\n const editingLabelInitialized = useRef(false);\n const [shouldEmitLabelChange, setShouldEmitLabelChange] = useState(false);\n const labelInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n setCurrentLabel(label);\n }, [label]);\n\n const handleEditLabel = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setEditingLabel(true);\n }, []);\n\n useEffect(() => {\n if (autoFocusOnce && !autoFocusedSets.has(autoFocusOnce)) {\n autoFocusedSets.add(autoFocusOnce);\n setTimeout(() => {\n setEditingLabel(true);\n }, 1);\n }\n }, [autoFocusOnce]);\n\n useEffect(() => {\n if (editingLabel) {\n // Prevent scroll when focusing.\n // Otherwise the diagram svg may be clipped in Chrome.\n labelInputRef.current?.focus({ preventScroll: true });\n labelInputRef.current?.select();\n }\n }, [editingLabel]);\n\n useEffect(() => {\n if (editingLabelInitialized.current) {\n onLabelEditingChange?.(editingLabel);\n } else {\n editingLabelInitialized.current = true;\n }\n }, [editingLabel, onLabelEditingChange]);\n\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentLabel(event.target.value);\n },\n []\n );\n\n const handleInputKeydown = useCallback((event: React.KeyboardEvent) => {\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n if (key === \"Enter\" || key === 13) {\n labelInputRef.current?.blur();\n }\n }, []);\n\n const handleInputBlur = useCallback(() => {\n setEditingLabel(false);\n setShouldEmitLabelChange(true);\n }, []);\n\n useEffect(() => {\n if (shouldEmitLabelChange) {\n onLabelChange?.(currentLabel);\n setShouldEmitLabelChange(false);\n }\n }, [currentLabel, onLabelChange, shouldEmitLabelChange]);\n\n const handleChildAppend = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n onChildAppend?.();\n },\n [onChildAppend]\n );\n\n const handleExternalClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n onExternalClick?.(external);\n },\n [external, onExternalClick]\n );\n\n const stopPropagation = useCallback((e: React.MouseEvent) => {\n e.stopPropagation();\n }, []);\n\n // 32 + 8\n const extraHeight = Math.max(0, Math.floor((subNodes?.length ?? 0) - 3)) * 38;\n\n return (\n <>\n <div\n className={classNames(\"node\", type, { \"editing-label\": editingLabel })}\n style={{ height: type === \"board\" ? 70 : 130 + extraHeight }}\n onClick={onNodeClick}\n onDoubleClick={onNodeDoubleClick}\n onContextMenu={(e) => {\n e.stopPropagation();\n e.preventDefault();\n onNodeContextMenu?.({\n clientX: e.clientX,\n clientY: e.clientY,\n });\n }}\n >\n <input\n className=\"label-input\"\n value={currentLabel}\n ref={labelInputRef}\n onChange={handleInputChange}\n onKeyDown={handleInputKeydown}\n onBlur={handleInputBlur}\n onDoubleClick={stopPropagation}\n onContextMenu={stopPropagation}\n onMouseDown={stopPropagation}\n />\n <div\n className=\"label\"\n onDoubleClick={handleEditLabel}\n onMouseDown={stopPropagation}\n >\n {currentLabel}\n </div>\n {type === \"board\" ? (\n <div className=\"icon-container\">\n <WrappedIcon lib=\"antd\" icon=\"unordered-list\" />\n </div>\n ) : (\n <div\n className=\"thumbnail-container\"\n style={{\n height: 98 + extraHeight,\n }}\n >\n <div className=\"thumbnail-placeholder\">\n <WrappedIcon lib=\"antd\" icon=\"ellipsis\" />\n </div>\n {external && (\n <div\n className=\"external\"\n onClick={handleExternalClick}\n onDoubleClick={stopPropagation}\n onMouseDown={stopPropagation}\n >\n <WrappedIcon lib=\"antd\" icon=\"desktop\" />\n <span className=\"external-label\">{external.label}</span>\n </div>\n )}\n {subNodes?.length ? (\n <div className=\"sub-nodes\">\n {subNodes.map((subNode) => (\n <SubNode\n key={subNode.id}\n subNode={subNode}\n onSubNodeDoubleClick={onSubNodeDoubleClick}\n onSubNodeContextMenu={onSubNodeContextMenu}\n />\n ))}\n </div>\n ) : null}\n </div>\n )}\n </div>\n <div\n className=\"add-button\"\n role=\"button\"\n onClick={handleChildAppend}\n onMouseDown={stopPropagation}\n >\n <WrappedIcon lib=\"fa\" icon=\"plus\" />\n </div>\n </>\n );\n}\n\nexport interface SubNodeProps {\n subNode: ExtraNodeData;\n onSubNodeDoubleClick?(data: ExtraNodeData): void;\n onSubNodeContextMenu?(data: SubNodeContextMenuData): void;\n}\n\nfunction SubNode({\n subNode,\n onSubNodeDoubleClick,\n onSubNodeContextMenu,\n}: SubNodeProps) {\n return (\n <WrappedTooltip key={subNode.id} content={subNode.label}>\n <div\n className=\"sub-node\"\n onDoubleClick={(e) => {\n e.stopPropagation();\n onSubNodeDoubleClick?.(subNode);\n }}\n onContextMenu={(e) => {\n e.stopPropagation();\n e.preventDefault();\n onSubNodeContextMenu?.({\n node: subNode,\n clientX: e.clientX,\n clientY: e.clientY,\n });\n }}\n >\n <div className=\"sub-node-skeleton-title\"></div>\n <div className=\"sub-node-skeleton-content\"></div>\n <div className=\"sub-node-skeleton-button\"></div>\n </div>\n </WrappedTooltip>\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, `:host{--local-node-outline-style:solid;display:block}:host([hidden]){display:none}:host([not-synced]){--local-node-outline-style:dashed}*{box-sizing:border-box}.node{width:168px;max-width:none;height:130px;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.node.board{height:70px;max-width:168px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding-bottom:4px}.label,\n.label-input{width:100%;height:24px;padding:3px;border:none;line-height:18px;font-size:var(--sub-title-font-size-small);color:var(--color-header-text);font-weight:var(--font-weight-500);text-align:center;font-family:inherit;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.node.editing-label .label{height:0}.node:not(.editing-label) .label-input{display:none}.add-button,\n.icon-container,\n.thumbnail-container,\n.thumbnail-placeholder{display:flex;align-items:center;justify-content:center}.thumbnail-container{height:98px;outline:1px var(--local-node-outline-style) var(--palette-gray-4);opacity:1;border:4px solid transparent;border-radius:4px;width:100%;position:relative;flex-direction:column}.thumbnail-placeholder{color:var(--palette-gray-5);font-size:36px;flex:1}.icon-container{font-size:20px;background-color:var(--palette-teal-6);color:var(--palette-gray-4);width:36px;height:36px;border-radius:50%;outline-offset:4px}:host([active]) .thumbnail-container,\n:host([active]) .icon-container{outline:2px var(--local-node-outline-style) var(--palette-blue-3)}:host(:not([active])) .node:hover .thumbnail-container,\n:host(:not([active])) .node:hover .icon-container{outline:1px var(--local-node-outline-style) var(--palette-blue-3)}.add-button{position:absolute;bottom:-26px;left:calc(50% - 12px);width:24px;height:24px;background:var(--palette-gray-3);color:var(--palette-gray-6);border-radius:50%;cursor:pointer}:host([not-synced]) .add-button,\n:host([disable-child-append]) .add-button,\n:host(:not([active])) .add-button{display:none}.add-button:hover{background:var(--palette-blue-5);color:var(--palette-gray-2)}.external{position:absolute;top:4px;left:4px;padding:0 10px;display:flex;align-items:center;gap:6px;background:var(--palette-purple-4);font-size:12px;line-height:20px;height:22px;cursor:pointer;color:var(--palette-gray-1);border-radius:9999px;right:4px;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content}.external-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.external:hover{background:var(--palette-purple-5)}.sub-nodes{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:6px;gap:6px;width:100%}.sub-node{background-color:var(--palette-gray-2);border-radius:4px;padding:6px;display:flex;flex-direction:column;justify-content:space-between;height:32px}.sub-node-skeleton-title{width:18px;height:4px;border-radius:2px;align-self:flex-start;background-color:var(--palette-gray-4)}.sub-node-skeleton-content{width:100%;height:4px;border-radius:2px;background-color:var(--palette-gray-4)}.sub-node-skeleton-button{width:18px;height:4px;border-radius:2px;align-self:flex-end;background-color:var(--palette-blue-3)}.sub-node:hover{background-color:var(--palette-gray-3)}.sub-node:hover .sub-node-skeleton-title,\n.sub-node:hover .sub-node-skeleton-content{background-color:var(--palette-gray-5)}.sub-node:hover .sub-node-skeleton-button{background-color:var(--palette-blue-4)}`, \"\"]);\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, `.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","_classDecs","styleTexts","styleText","sharedStyle","_dec","_dec2","type","Boolean","_dec3","Number","_dec4","_dec5","_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","_WorkbenchPane2","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","_WorkbenchSidebar2","_WorkbenchAction","WrapLink","attribute","WorkbenchAction","_init_icon","_init_to","_init_href","_init_target","to","href","WorkbenchActionComponent","url","_WorkbenchAction2","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","activeMatchSearch","getMatchOfSearch","isArray","activeIncludes","include","_parseInclude","parseInclude","hasSearch","includes","activeExcludes","_include","matchMenuItem","keyPath","split","i","slice","join","currentSearch","toSearch","URLSearchParams","entries","_current$get","_WorkbenchActionList","WrapperWorkbenchAction","currentAppId","WorkbenchActionList","_init_appId","_init_menu","appId","menu","WorkbenchActionListComponent","_WorkbenchActionList2","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","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_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","_WorkbenchTreeElement2","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","_WorkbenchHistoryAction","_PageArchNode","WrappedTooltip","autoFocusedSets","Set","_labelEditingChange","_handleLabelEditingChange","_labelChange","_handleLabelChange","_nodeClick","_handleNodeClick","_nodeDoubleClick","_handleNodeDoubleClick","_nodeContextMenu","_handleNodeContextMenu","_childAppend","_handleChildAppend","_externalClick","_handleExternalClick","_subNodeDoubleClick","_handleSubNodeDoubleClick","_subNodeContextMenu","_handleSubNodeContextMenu","PageArchNode","_get_subNodeContextMenu2","_set_subNodeContextMenu2","_get_subNodeDoubleClick2","_set_subNodeDoubleClick2","_get_externalClick2","_set_externalClick2","_get_childAppend2","_set_childAppend2","_get_nodeContextMenu2","_set_nodeContextMenu2","_get_nodeDoubleClick2","_set_nodeDoubleClick2","_get_nodeClick2","_set_nodeClick2","_get_labelChange2","_set_labelChange2","_get_labelEditingChange2","_set_labelEditingChange2","_init_label","_init_type","_init_external","_init_subNodes","_init_notSynced","_init_disableChildAppend","_init_autoFocusOnce","_init_labelEditingChange","_init_labelChange","_init_nodeClick","_init_nodeDoubleClick","_init_nodeContextMenu","_init_childAppend","_init_externalClick","_init_subNodeDoubleClick","_init_subNodeContextMenu","label","external","subNodes","notSynced","disableChildAppend","autoFocusOnce","PageArchNodeComponent","onLabelEditingChange","onLabelChange","onNodeClick","onNodeDoubleClick","onNodeContextMenu","onChildAppend","onExternalClick","onSubNodeDoubleClick","onSubNodeContextMenu","_set_labelEditingChange","_get_labelEditingChange","_set_labelChange","_get_labelChange","_set_nodeClick","_get_nodeClick","_set_nodeDoubleClick","_get_nodeDoubleClick","_set_nodeContextMenu","_get_nodeContextMenu","_set_childAppend","_get_childAppend","_set_externalClick","_get_externalClick","_set_subNodeDoubleClick","_get_subNodeDoubleClick","_set_subNodeContextMenu","_get_subNodeContextMenu","_subNodes$length","_type","currentLabel","setCurrentLabel","editingLabel","setEditingLabel","editingLabelInitialized","shouldEmitLabelChange","setShouldEmitLabelChange","labelInputRef","handleEditLabel","stopPropagation","setTimeout","_labelInputRef$curren","_labelInputRef$curren2","focus","preventScroll","select","handleInputChange","handleInputKeydown","_labelInputRef$curren3","keyCode","which","blur","handleInputBlur","handleChildAppend","handleExternalClick","extraHeight","Math","max","floor","height","onDoubleClick","onContextMenu","onChange","onKeyDown","onBlur","onMouseDown","subNode","SubNode","id","role","_ref2","content","_PageArchNode2","___CSS_LOADER_EXPORT___","module","toString"],"sourceRoot":""}