@mason-api/javascript-sdk
Version:
Mason component rendering library
40 lines (30 loc) • 1.07 kB
JavaScript
;
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;