UNPKG

test-jsonforms-react-spectrum-renderers

Version:

React Spectrum Renderer Set for JSONForms

63 lines 4.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); var react_spectrum_1 = require("@adobe/react-spectrum"); var ArrowUp_1 = tslib_1.__importDefault(require("@spectrum-icons/workflow/ArrowUp")); var ArrowDown_1 = tslib_1.__importDefault(require("@spectrum-icons/workflow/ArrowDown")); var utils_1 = require("../utils"); function SortButtons(_a) { var data = _a.data, index = _a.index, path = _a.path, removeItems = _a.removeItems, uischema = _a.uischema; var _b, _c; var moveItUp = function (index) { var indexOfFittingSchemaOriginal = utils_1.indexOfFittingSchemaObject[path + "." + index]; var indexOfFittingSchemaNew = utils_1.indexOfFittingSchemaObject[path + "." + (index - 1)]; utils_1.indexOfFittingSchemaObject[path + "." + index] = indexOfFittingSchemaNew; utils_1.indexOfFittingSchemaObject[path + "." + (index - 1)] = indexOfFittingSchemaOriginal; //removeItems is only used to update the data, change to a better solution in the future removeItems(path, [999999999])(); }; var moveDnD = function (curIndex, tarRow) { utils_1.moveFromTo(data, curIndex, tarRow); if (curIndex - tarRow > 0) { removeItems(path, [curIndex + 1])(); } else { removeItems(path, [curIndex])(); } if (curIndex - tarRow === 1 || curIndex - tarRow === -2) { var indexOfFittingSchemaOriginal = utils_1.indexOfFittingSchemaObject[path + "." + curIndex]; var indexOfFittingSchemaNew = utils_1.indexOfFittingSchemaObject[path + "." + (curIndex - 1)]; utils_1.indexOfFittingSchemaObject[path + "." + curIndex] = indexOfFittingSchemaNew; utils_1.indexOfFittingSchemaObject[path + "." + (curIndex - 1)] = indexOfFittingSchemaOriginal; } if (curIndex > 9999999) { moveItUp(curIndex); moveItDown(curIndex); } return data; }; var moveItDown = function (index) { var indexOfFittingSchemaOriginal = utils_1.indexOfFittingSchemaObject[path + "." + index]; var indexOfFittingSchemaNew = utils_1.indexOfFittingSchemaObject[path + "." + (index + 1)]; utils_1.indexOfFittingSchemaObject[path + "." + index] = indexOfFittingSchemaNew; utils_1.indexOfFittingSchemaObject[path + "." + (index + 1)] = indexOfFittingSchemaOriginal; //removeItems is only used to update the data, change to a better solution in the future removeItems(path, [data.length])(); }; return (react_1.default.createElement(react_spectrum_1.Flex, { direction: ((_b = uischema.options) === null || _b === void 0 ? void 0 : _b.sortButtonDirection) === 'Horizontal' ? 'row' : 'column', marginTop: ((_c = uischema.options) === null || _c === void 0 ? void 0 : _c.sortButtonDirection) === 'Horizontal' ? 'size-225' : 'size-0' }, react_1.default.createElement(react_spectrum_1.TooltipTrigger, null, react_1.default.createElement(react_spectrum_1.ActionButton, { isQuiet: true, onPress: function () { return moveDnD(index, index - 1); }, "aria-label": "move-item-" + path + "." + index + "-up", marginX: 'size-10', isDisabled: index === 0 }, react_1.default.createElement(ArrowUp_1.default, { "aria-label": 'ArrowUp' })), react_1.default.createElement(react_spectrum_1.Tooltip, null, "Move upwards")), react_1.default.createElement(react_spectrum_1.TooltipTrigger, null, react_1.default.createElement(react_spectrum_1.ActionButton, { isQuiet: true, onPress: function () { return moveDnD(index, index + 2); }, "aria-label": "move-item-" + path + "." + index + "-down", marginX: 'size-10', isDisabled: index === utils_1.indexOfFittingSchemaObject[path + "itemQuantity"] - 1 }, react_1.default.createElement(ArrowDown_1.default, { "aria-label": 'ArrowDown' })), react_1.default.createElement(react_spectrum_1.Tooltip, null, "Move downwards")))); } exports.default = SortButtons; //# sourceMappingURL=SortButtons.js.map