armstrong-react
Version:
Rocketmakers Armstrong library of React components
57 lines (56 loc) • 2.8 kB
JavaScript
;
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
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;
};
var React = require("react");
var formBinders_1 = require("../../form/formBinders");
var form_1 = require("../form");
var grid_1 = require("./../../layout/grid");
var _ = require("underscore");
var TimeSelector = (function (_super) {
__extends(TimeSelector, _super);
function TimeSelector() {
_super.apply(this, arguments);
}
TimeSelector.prototype.render = function () {
var _this = this;
var hours = [];
var minutes = [];
_.each(_.range(0, 24, 1), function (hour) {
hours.push(React.createElement("option", {key: "hour_" + hour + "_" + Math.random()}, hour));
});
_.each(_.range(0, 60, 5), function (minute) {
minutes.push(React.createElement("option", {key: "minute_" + minute + "_" + Math.random()}, minute));
});
return (React.createElement(form_1.Form, {dataBinder: form_1.Form.jsonDataBinder(this.props.timeOfDay), onDataChanged: function (d) { return _this.props.timeOfDayChanged(d); }}, React.createElement(grid_1.Grid, {className: "time-selector"}, React.createElement(grid_1.Row, null, React.createElement(grid_1.Col, null, React.createElement("select", __assign({}, form_1.Form.Bind.selectNumeric("hour")), hours)), React.createElement(grid_1.Col, {fixed: 15, className: "center-both"}, ":"), React.createElement(grid_1.Col, null, React.createElement("select", __assign({}, form_1.Form.Bind.selectNumeric("minute")), minutes))))));
};
return TimeSelector;
}(React.Component));
exports.TimeSelector = TimeSelector;
var TimeSelectorFormBinder = (function (_super) {
__extends(TimeSelectorFormBinder, _super);
function TimeSelectorFormBinder() {
_super.apply(this, arguments);
}
TimeSelectorFormBinder.customValue = function (dataName) {
return new TimeSelectorFormBinder(dataName, "timeOfDay");
};
TimeSelectorFormBinder.prototype.handleValueChanged = function (props, dataBinder, notifyChanged) {
var _this = this;
props.timeOfDayChanged = function (e) {
_this.onChanged(dataBinder, e, notifyChanged);
};
};
return TimeSelectorFormBinder;
}(formBinders_1.FormBinderBase));
exports.TimeSelectorFormBinder = TimeSelectorFormBinder;