UNPKG

@try-at-software/input-elements

Version:

A package providing different input elements that are extensible and easily configurable for your custom needs.

34 lines (33 loc) 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DynamicInputsList = void 0; const React = require("react"); const react_beautiful_dnd_1 = require("react-beautiful-dnd"); const Utilities_1 = require("../Utilities"); require("./DynamicInputsList.less"); class DynamicInputsList extends React.Component { render() { return (React.createElement("div", { className: Utilities_1.combineClasses('tas-dynamic-list-input', this.props.className) }, React.createElement(react_beautiful_dnd_1.DragDropContext, { onDragEnd: this.props.onDragEnd }, React.createElement(react_beautiful_dnd_1.Droppable, { droppableId: "default-inputs-list" }, (provided) => (React.createElement("div", Object.assign({ ref: provided.innerRef }, provided.droppableProps), this.renderInputsList(), provided.placeholder)))), this.props.renderFooterMenu())); } renderInputsList() { return (React.createElement(React.Fragment, null, this.props.inputs.map((i, index) => { return (React.createElement(react_beautiful_dnd_1.Draggable, { key: i.uniqueId, draggableId: i.uniqueId.toString(), index: index }, (provided) => (React.createElement("div", Object.assign({ className: "tas-dynamic-input-element", ref: provided.innerRef }, provided.draggableProps, provided.dragHandleProps), this.renderDynamicInput(i.input, index))))); }))); } renderDynamicInput(input, index) { if (!input || index < 0) return null; return (React.createElement(React.Fragment, null, React.createElement("div", { className: "tas-move-gripper hidable" }, !!this.props.renderMoveGripper ? this.props.renderMoveGripper() : React.createElement("span", null, "#", index + 1)), React.createElement("div", { className: "tas-input-element-wrapper" }, input.render()), React.createElement("div", { className: "tas-menu-wrapper" }, this.props.renderMenu(index)))); } } exports.DynamicInputsList = DynamicInputsList;