UNPKG

react-admin-ui

Version:

React Admin Panel based on material-ui interface Edit

90 lines (75 loc) 2.56 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeDeep = exports.groupFields = exports.showField = undefined; var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _assign = require('babel-runtime/core-js/object/assign'); var _assign2 = _interopRequireDefault(_assign); var _typeof2 = require('babel-runtime/helpers/typeof'); var _typeof3 = _interopRequireDefault(_typeof2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var showField = function showField(itemName, data) { if (itemName.length == 0) return data; var field = itemName.split('.'); var name = void 0; for (var i in field) { if (field.hasOwnProperty(i)) { if (i == 0) { name = data[field[i]]; } else { name = name[field[i]]; } } } return name; }; var groupFields = function groupFields(fields) { var tabs = [{ name: 'General', fields: [] }]; for (var i in fields) { if (fields.hasOwnProperty(i) && fields[i].fieldType == 'tab') { tabs.push(fields[i]); } else { tabs[0].fields.push(fields[i]); } } return tabs; }; /** * Simple object check. * @param item * @returns {boolean} */ var isObject = function isObject(item) { return item && (typeof item === 'undefined' ? 'undefined' : (0, _typeof3.default)(item)) === 'object' && !Array.isArray(item); }; /** * Deep merge two objects. * @param target * @param sources */ var mergeDeep = function mergeDeep(target) { for (var _len = arguments.length, sources = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { sources[_key - 1] = arguments[_key]; } if (!sources.length) return target; var source = sources.shift(); if (isObject(target) && isObject(source)) { for (var key in source) { if (isObject(source[key])) { if (!target[key]) (0, _assign2.default)(target, (0, _defineProperty3.default)({}, key, {})); mergeDeep(target[key], source[key]); } else { (0, _assign2.default)(target, (0, _defineProperty3.default)({}, key, source[key])); } } } return mergeDeep.apply(undefined, [target].concat(sources)); }; exports.showField = showField; exports.groupFields = groupFields; exports.mergeDeep = mergeDeep;