choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
70 lines (54 loc) • 1.94 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.normalizeLabelWidth = normalizeLabelWidth;
exports.getProperty = getProperty;
exports.hasParentElement = hasParentElement;
exports.defaultExcludeUseColonTag = exports.FIELD_SUFFIX = exports.defaultColumns = exports.defaultLabelLayout = exports.defaultLabelWidth = void 0;
var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
var _enum = require("./enum");
var defaultLabelWidth = 100;
exports.defaultLabelWidth = defaultLabelWidth;
var defaultLabelLayout = _enum.LabelLayout.horizontal;
exports.defaultLabelLayout = defaultLabelLayout;
var defaultColumns = 1;
exports.defaultColumns = defaultColumns;
var FIELD_SUFFIX = 'field';
exports.FIELD_SUFFIX = FIELD_SUFFIX;
function normalizeLabelWidth(labelWidth, columns) {
if ((0, _isNumber["default"])(labelWidth) || labelWidth === 'auto') {
return new Array(columns).fill(labelWidth);
}
var labelWidths = new Array(columns).fill(defaultLabelWidth);
labelWidth.slice(0, columns).forEach(function (width, index) {
return labelWidths[index] = width;
});
return labelWidths;
}
function getProperty(props, key, dataSet, record) {
if (props[key]) {
return props[key];
}
var name = props.name;
var field = dataSet && dataSet.getField(name);
if (field) {
var fieldProperty = field.get(key, record);
if (fieldProperty) {
return fieldProperty;
}
}
}
var defaultExcludeUseColonTag = ['div', 'button', 'Button'];
exports.defaultExcludeUseColonTag = defaultExcludeUseColonTag;
function hasParentElement(parentElement, tagName) {
while (parentElement) {
if (parentElement.tagName.toLowerCase() === tagName) {
return true;
}
parentElement = parentElement.parentElement;
}
return false;
}
//# sourceMappingURL=utils.js.map