semantic-ui-react-router
Version:
Semantic UI React components for React Router and several other extension
171 lines (170 loc) • 6.84 kB
JavaScript
"use strict";
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 __());
};
})();
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 moment = require("moment");
var semantic_ui_react_1 = require("semantic-ui-react");
var react_datepicker_1 = require("react-datepicker");
var omit = require("object.omit");
var FormControl = (function (_super) {
__extends(FormControl, _super);
function FormControl() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.update = function (_e, formEvent) {
_this.props.owner[_this.props.name] = formEvent.value;
};
_this.updateValue = function (value) {
_this.props.owner[_this.props.name] = value;
};
return _this;
}
Object.defineProperty(FormControl.prototype, "value", {
get: function () {
return this.props.owner[this.props.name];
},
enumerable: true,
configurable: true
});
return FormControl;
}(React.PureComponent));
exports.FormControl = FormControl;
var Input = (function (_super) {
__extends(Input, _super);
function Input() {
return _super !== null && _super.apply(this, arguments) || this;
}
Input.prototype.render = function () {
return (React.createElement(semantic_ui_react_1.Form.Input, __assign({ onChange: this.update, value: this.value, placeholder: this.props.placeholder || this.props.label }, omit(this.props, ['owner', 'validator']))));
};
return Input;
}(FormControl));
exports.Input = Input;
Input.displayName = 'MobxInput';
var id_helper = 0;
function randomID() {
return (Date.now() + id_helper++).toString();
}
var DateControl = (function (_super) {
__extends(DateControl, _super);
function DateControl() {
return _super !== null && _super.apply(this, arguments) || this;
}
DateControl.prototype.focus = function () { };
DateControl.prototype.clear = function (e) {
if (e.keyCode === 8 || e.keyCode === 46) {
this.props.clear();
}
};
DateControl.prototype.render = function () {
return (React.createElement(semantic_ui_react_1.Input, __assign({}, omit(this.props, 'clear'), { icon: "calendar", readOnly: true, onKeyDown: this.clear.bind(this) })));
};
return DateControl;
}(React.Component));
var DatePicker = (function (_super) {
__extends(DatePicker, _super);
function DatePicker() {
return _super !== null && _super.apply(this, arguments) || this;
}
DatePicker.prototype.prohibit = function () {
return false;
};
DatePicker.prototype.clear = function () {
this.props.owner[this.props.name] = null;
};
DatePicker.prototype.render = function () {
return (React.createElement("div", { className: "three wide field" },
this.props.label && React.createElement("label", null, this.props.label),
React.createElement(react_datepicker_1.default, __assign({ customInput: React.createElement(DateControl, { clear: this.clear.bind(this) }), onChange: this.update, dateFormat: this.props.format, placeholderText: this.props.placeholder, selected: this.value ? moment(this.value) : null }, omit(this.props, ['owner', 'validator'])))));
};
return DatePicker;
}(FormControl));
DatePicker.defaultProps = {
format: 'DD MMM YYYY'
};
exports.DatePicker = DatePicker;
;
DatePicker.displayName = 'DatePicker';
exports.Label = function (props) { return (React.createElement(semantic_ui_react_1.Form.Field, __assign({}, props),
React.createElement("label", null, props.label))); };
exports.Label.displayName = 'MobxLabel';
var Select = (function (_super) {
__extends(Select, _super);
function Select() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.updateSelect = function (_e, selectValue) {
_this.updateValue(selectValue.value);
};
return _this;
}
Select.prototype.render = function () {
return (React.createElement(semantic_ui_react_1.Form.Select, __assign({ onChange: this.updateSelect, value: this.value }, omit(this.props, ['owner', 'validator']))));
};
return Select;
}(FormControl));
exports.Select = Select;
;
Select.displayName = 'FormSelect';
var Radio = (function (_super) {
__extends(Radio, _super);
function Radio() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.update = function (_e, formEvent) {
_this.props.owner[_this.props.name] = formEvent.checked;
};
return _this;
}
Radio.prototype.render = function () {
return (React.createElement(semantic_ui_react_1.Form.Radio, __assign({ onChange: this.update, value: this.value }, omit(this.props, ['owner', 'validator']))));
};
return Radio;
}(FormControl));
exports.Radio = Radio;
;
Radio.displayName = 'MobxRadio';
var Checkbox = (function (_super) {
__extends(Checkbox, _super);
function Checkbox() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.update = function (_e, formEvent) {
_this.props.owner[_this.props.name] = formEvent.checked;
};
return _this;
}
Checkbox.prototype.render = function () {
return (React.createElement(semantic_ui_react_1.Form.Checkbox, __assign({ onChange: this.update, value: this.value }, omit(this.props, ['owner', 'validator']))));
};
return Checkbox;
}(FormControl));
exports.Checkbox = Checkbox;
;
Checkbox.displayName = 'FormCheckbox';
var TextArea = (function (_super) {
__extends(TextArea, _super);
function TextArea() {
return _super !== null && _super.apply(this, arguments) || this;
}
TextArea.prototype.render = function () {
return (React.createElement(semantic_ui_react_1.Form.TextArea, __assign({ onChange: this.update, value: this.value }, omit(this.props, ['owner', 'validator']))));
};
return TextArea;
}(FormControl));
exports.TextArea = TextArea;
;
TextArea.displayName = 'FormTextArea';