145 lines
5.8 KiB
JavaScript
145 lines
5.8 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
|
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
|
|
var _util = require('./util');
|
|
|
|
var _util2 = _interopRequireDefault(_util);
|
|
|
|
var _react = require('react');
|
|
|
|
var _react2 = _interopRequireDefault(_react);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var editor = function editor(editable, attr, format, editorClass, defaultValue, ignoreEditable, row) {
|
|
if (editable === true || editable === false && ignoreEditable || typeof editable === 'string') {
|
|
// simple declare
|
|
var type = editable ? 'text' : editable;
|
|
return _react2.default.createElement('input', _extends({}, attr, { type: type, defaultValue: defaultValue,
|
|
className: (editorClass || '') + ' form-control editor edit-text' }));
|
|
} else if (!editable) {
|
|
var _type = editable ? 'text' : editable;
|
|
return _react2.default.createElement('input', _extends({}, attr, { type: _type, defaultValue: defaultValue,
|
|
disabled: 'disabled',
|
|
className: (editorClass || '') + ' form-control editor edit-text' }));
|
|
} else if (editable && (editable.type === undefined || editable.type === null || editable.type.trim() === '')) {
|
|
var _type2 = editable ? 'text' : editable;
|
|
return _react2.default.createElement('input', _extends({}, attr, { type: _type2, defaultValue: defaultValue,
|
|
className: (editorClass || '') + ' form-control editor edit-text' }));
|
|
} else if (editable.type) {
|
|
// standard declare
|
|
// put style if exist
|
|
editable.style && (attr.style = editable.style);
|
|
// put class if exist
|
|
attr.className = (editorClass || '') + ' form-control editor edit-' + editable.type + (editable.className ? ' ' + editable.className : '');
|
|
|
|
if (editable.type === 'select') {
|
|
// process select input
|
|
var options = [];
|
|
var values = editable.options.values;
|
|
var _editable$options = editable.options,
|
|
textKey = _editable$options.textKey,
|
|
valueKey = _editable$options.valueKey;
|
|
|
|
if (_util2.default.isFunction(values)) {
|
|
values = values(row);
|
|
}
|
|
if (Array.isArray(values)) {
|
|
// only can use arrray data for options
|
|
var text = void 0;
|
|
var value = void 0;
|
|
options = values.map(function (option, i) {
|
|
if ((typeof option === 'undefined' ? 'undefined' : _typeof(option)) === 'object') {
|
|
text = textKey ? option[textKey] : option.text;
|
|
value = valueKey ? option[valueKey] : option.value;
|
|
} else {
|
|
text = format ? format(option) : option;
|
|
value = option;
|
|
}
|
|
return _react2.default.createElement(
|
|
'option',
|
|
{ key: 'option' + i, value: value },
|
|
text
|
|
);
|
|
});
|
|
}
|
|
return _react2.default.createElement(
|
|
'select',
|
|
_extends({}, attr, { defaultValue: defaultValue }),
|
|
options
|
|
);
|
|
} else if (editable.type === 'textarea') {
|
|
// process textarea input
|
|
// put other if exist
|
|
editable.cols && (attr.cols = editable.cols);
|
|
editable.rows && (attr.rows = editable.rows);
|
|
var saveBtn = void 0;
|
|
var keyUpHandler = attr.onKeyDown;
|
|
if (keyUpHandler) {
|
|
attr.onKeyDown = function (e) {
|
|
if (e.keyCode !== 13) {
|
|
// not Pressed ENTER
|
|
keyUpHandler(e);
|
|
}
|
|
};
|
|
saveBtn = _react2.default.createElement(
|
|
'button',
|
|
{
|
|
className: 'btn btn-info btn-xs textarea-save-btn',
|
|
onClick: keyUpHandler },
|
|
'save'
|
|
);
|
|
}
|
|
return _react2.default.createElement(
|
|
'div',
|
|
null,
|
|
_react2.default.createElement('textarea', _extends({}, attr, { defaultValue: defaultValue })),
|
|
saveBtn
|
|
);
|
|
} else if (editable.type === 'checkbox') {
|
|
var _values = 'true:false';
|
|
if (editable.options && editable.options.values) {
|
|
// values = editable.options.values.split(':');
|
|
_values = editable.options.values;
|
|
}
|
|
attr.className = attr.className.replace('form-control', '');
|
|
attr.className += ' checkbox pull-right';
|
|
|
|
var checked = defaultValue && defaultValue.toString() === _values.split(':')[0] ? true : false;
|
|
|
|
return _react2.default.createElement('input', _extends({}, attr, { type: 'checkbox',
|
|
value: _values, defaultChecked: checked }));
|
|
} else if (editable.type === 'datetime') {
|
|
return _react2.default.createElement('input', _extends({}, attr, { type: 'datetime-local', defaultValue: defaultValue }));
|
|
} else {
|
|
// process other input type. as password,url,email...
|
|
return _react2.default.createElement('input', _extends({}, attr, { type: editable.type, defaultValue: defaultValue }));
|
|
}
|
|
}
|
|
// default return for other case of editable
|
|
return _react2.default.createElement('input', _extends({}, attr, { type: 'text',
|
|
className: (editorClass || '') + ' form-control editor edit-text' }));
|
|
};
|
|
|
|
var _default = editor;
|
|
exports.default = _default;
|
|
;
|
|
|
|
var _temp = function () {
|
|
if (typeof __REACT_HOT_LOADER__ === 'undefined') {
|
|
return;
|
|
}
|
|
|
|
__REACT_HOT_LOADER__.register(editor, 'editor', '/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/Editor.js');
|
|
|
|
__REACT_HOT_LOADER__.register(_default, 'default', '/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/Editor.js');
|
|
}();
|
|
|
|
; |