UNPKG

@mason-api/javascript-sdk

Version:

Mason component rendering library

40 lines (30 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _lodash = _interopRequireDefault(require("lodash")); var _immutabilityHelper = _interopRequireDefault(require("immutability-helper")); var _utils = require("@mason-api/utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _default = function _default() { return function (node, config, configSubpath) { if (node.tag === 'button' && !_lodash.default.isFunction(node.p.onclick) && node.p.type !== 'submit') { var tree = config.data[configSubpath].tree; var ancestors = _utils.TREE.findNodeAncestors(tree, button.path); if (_lodash.default.some(ancestors, ['tag', 'form'])) { return (0, _immutabilityHelper.default)(node, { p: { $merge: { onclick: function onclick(e) { return e.preventDefault(); } } } }); } } return node; }; }; exports.default = _default;