UNPKG

plot-plan-designer

Version:

Design Editor Tools with React.js + ant.design + fabric.js

108 lines (107 loc) 5.91 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = __importStar(require("react")); const prop_types_1 = __importDefault(require("prop-types")); const antd_1 = require("antd"); const classnames_1 = __importDefault(require("classnames")); const CommonButton_1 = __importDefault(require("../common/CommonButton")); const FlowContext_1 = __importStar(require("../../contexts/FlowContext")); const Icon_1 = __importDefault(require("../icon/Icon")); const MapProperties_1 = __importDefault(require("./properties/MapProperties")); const NodeProperties_1 = __importDefault(require("./properties/NodeProperties")); const i18next_1 = __importDefault(require("i18next")); let ImageMapConfigurations = /** @class */ (() => { class ImageMapConfigurations extends react_1.Component { constructor() { super(...arguments); this.state = { activeKey: 'map', }; this.handlers = { onChangeTab: (activeKey) => { this.setState({ activeKey, }); }, onCollapse: () => { this.setState({ collapse: !this.state.collapse, }); }, }; } render() { const { onChange, selectedItem, canvasRef, animations, styles, dataSources, onChangeAnimations, onChangeStyles, onChangeDataSources, tabsDefinition, } = this.props; const { collapse, activeKey } = this.state; const { onChangeTab, onCollapse } = this.handlers; const className = classnames_1.default('rde-editor-configurations', { minimize: collapse, }); return (react_1.default.createElement("div", { className: className }, react_1.default.createElement(CommonButton_1.default, { className: "rde-action-btn", shape: "circle", icon: collapse ? 'angle-double-left' : 'angle-double-right', onClick: onCollapse, style: { position: 'absolute', top: 16, right: 16, zIndex: 1000 }, tooltipTitle: i18next_1.default.t('action.collapse') }), react_1.default.createElement(ContextTabs, { activeKey: activeKey, onChangeTab: onChangeTab, onChange: onChange, canvasRef: canvasRef, selectedItem: selectedItem, tabsDefinition: tabsDefinition }))); } } ImageMapConfigurations.propTypes = { canvasRef: prop_types_1.default.any, selectedItem: prop_types_1.default.object, onChange: prop_types_1.default.func, onChangeAnimations: prop_types_1.default.func, onChangeStyles: prop_types_1.default.func, onChangeDataSources: prop_types_1.default.func, animations: prop_types_1.default.array, styles: prop_types_1.default.array, dataSources: prop_types_1.default.array, tabsDefinition: prop_types_1.default.object, }; return ImageMapConfigurations; })(); const ContextTabs = (props) => { var _a, _b; const context = react_1.useContext(FlowContext_1.default); const { activeKey, onChangeTab, onChange, canvasRef, selectedItem, tabsDefinition } = props; react_1.useEffect(() => { var _a; if (tabsDefinition && tabsDefinition[context.editMode]) onChangeTab((_a = tabsDefinition[context.editMode]) === null || _a === void 0 ? void 0 : _a.selectedKey); else onChangeTab('map'); }, [context]); return (react_1.default.createElement(antd_1.Tabs, { tabPosition: "right", style: { height: '100%' }, activeKey: activeKey, onChange: onChangeTab, tabBarStyle: { marginTop: 60 } }, context.editMode === FlowContext_1.EditMode.EDITING && (react_1.default.createElement(antd_1.Tabs.TabPane, { active: true, tab: react_1.default.createElement(Icon_1.default, { name: "cog" }), key: "map" }, react_1.default.createElement(MapProperties_1.default, { onChange: onChange, canvasRef: canvasRef }))), context.editMode === FlowContext_1.EditMode.EDITING && (react_1.default.createElement(antd_1.Tabs.TabPane, { tab: react_1.default.createElement(Icon_1.default, { name: "cogs" }), key: "node" }, react_1.default.createElement(NodeProperties_1.default, { onChange: onChange, selectedItem: selectedItem, canvasRef: canvasRef }))), tabsDefinition && ((_b = (_a = tabsDefinition[context.editMode]) === null || _a === void 0 ? void 0 : _a.tabs) === null || _b === void 0 ? void 0 : _b.map((tab) => tab.create(onChange, selectedItem, canvasRef))))); }; ContextTabs.propTypes = { activeKey: prop_types_1.default.string, onChangeTab: prop_types_1.default.func, onChange: prop_types_1.default.func, canvasRef: prop_types_1.default.object, selectedItem: prop_types_1.default.object, tabsDefinition: prop_types_1.default.object, }; exports.default = ImageMapConfigurations;