choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
92 lines (74 loc) • 2.56 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.normalizeLabelWidth = normalizeLabelWidth;
exports.getProperty = getProperty;
exports.findFirstInvalidElement = findFirstInvalidElement;
exports.defaultExcludeUseColonTag = exports.FIELD_SUFFIX = exports.defaultColumns = exports.defaultLabelLayout = exports.defaultLabelWidth = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
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 = record ? record.getField(name) : dataSet && dataSet.getField(name);
if (field) {
var fieldProperty = field.get(key);
if (fieldProperty) {
return fieldProperty;
}
}
}
var defaultExcludeUseColonTag = ['div', 'button', 'Button'];
exports.defaultExcludeUseColonTag = defaultExcludeUseColonTag;
function findFocusableElement(node) {
if (node.children) {
var found;
(0, _toConsumableArray2["default"])(node.children).some(function (child) {
if (child.tabIndex > -1) {
found = child;
} else {
found = findFocusableElement(child);
}
return !!found;
});
return found;
}
}
function findFirstInvalidElement(node) {
if (node.children) {
var found;
(0, _toConsumableArray2["default"])(node.children).some(function (child) {
if (child.className.includes('invalid')) {
found = findFocusableElement(child);
} else {
found = findFirstInvalidElement(child);
}
return !!found;
});
return found;
}
}
//# sourceMappingURL=utils.js.map