UNPKG

plot-plan-designer

Version:

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

38 lines (37 loc) 2.08 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = __importDefault(require("react")); const prop_types_1 = __importDefault(require("prop-types")); const antd_1 = require("antd"); const lodash_1 = __importDefault(require("lodash")); const PropertyDefinition_1 = __importDefault(require("./PropertyDefinition")); const Scrollbar_1 = __importDefault(require("../../common/Scrollbar")); const i18next_1 = __importDefault(require("i18next")); const { Panel } = antd_1.Collapse; const MapProperties = ({ canvasRef, onChange, selectedItem }) => { const [form] = antd_1.Form.useForm(); const showArrow = false; const handleValuesChange = (changedValues, allValues) => { if (onChange) { onChange(selectedItem, changedValues, { workarea: allValues }); } }; if (!canvasRef) return null; const activeKey = lodash_1.default.filter(Object.values(PropertyDefinition_1.default.map), (mapProps) => mapProps.isActive).map((object) => i18next_1.default.t(object.title)); return (react_1.default.createElement(Scrollbar_1.default, null, react_1.default.createElement(antd_1.Form, { layout: "horizontal", form: form, onValuesChange: handleValuesChange }, react_1.default.createElement(antd_1.Collapse, { bordered: false, activeKey: activeKey }, Object.keys(PropertyDefinition_1.default.map).map((key) => { const header = i18next_1.default.t(PropertyDefinition_1.default.map[key].title); return (react_1.default.createElement(Panel, { key: header, header: header, showArrow: showArrow }, PropertyDefinition_1.default.map[key].component.render(canvasRef, form, canvasRef.handler.workarea))); }))))); }; MapProperties.propTypes = { canvasRef: prop_types_1.default.any, onChange: prop_types_1.default.func, selectedItem: prop_types_1.default.object, }; exports.default = MapProperties;