tandem-front-end
Version:
Visual editor for web components
40 lines • 1.62 kB
JavaScript
;
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var recompose_1 = require("recompose");
var lodash_1 = require("lodash");
var actions_1 = require("../../../../../../actions");
exports.BaseTextSettingsComponent = function (_a) {
var selectedNodes = _a.selectedNodes, onTextInputKeyDown = _a.onTextInputKeyDown;
// TODO - will want to abstract this
var modelNode = selectedNodes.reduce(function (model, node) {
var _a;
for (var prop in node) {
if (!lodash_1.isEqual(node[prop], model[prop])) {
model = __assign({}, model, (_a = {}, _a[prop] = undefined, _a));
}
}
return model;
}, selectedNodes[0]);
return (React.createElement("div", null,
React.createElement("input", { type: "text", defaultValue: selectedNodes[0].value, onKeyDown: onTextInputKeyDown })));
};
exports.TextSettingsComponent = recompose_1.compose(recompose_1.pure, recompose_1.withHandlers({
onTextInputKeyDown: function (_a) {
var dispatch = _a.dispatch;
return function (event) {
if (event.key === "Enter") {
dispatch(actions_1.textValueChanged(event.target.value));
}
};
}
}))(exports.BaseTextSettingsComponent);
//# sourceMappingURL=text.js.map