tandem-front-end
Version:
Visual editor for web components
47 lines • 1.75 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var ReactDOM = require("react-dom");
var FocusComponent = /** @class */ (function (_super) {
__extends(FocusComponent, _super);
function FocusComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
FocusComponent.prototype.componentDidMount = function () {
if (this.props.focus !== false) {
this.focus();
}
};
FocusComponent.prototype.componentWillReceiveProps = function (_a, context) {
var focus = _a.focus;
if (this.props.focus !== focus && focus) {
this.focus();
}
};
FocusComponent.prototype.focus = function () {
var _this = this;
setTimeout(function () {
var self = ReactDOM.findDOMNode(_this);
var input = self.tagName === "INPUT"
? self
: self.querySelector("input");
input.select();
}, 10);
};
FocusComponent.prototype.render = function () {
return this.props.children;
};
return FocusComponent;
}(React.Component));
exports.FocusComponent = FocusComponent;
//# sourceMappingURL=index.js.map