ng-devui
Version:
DevUI components based on Angular
81 lines • 9.95 kB
JavaScript
import { DBreakpoints } from './layout.types';
function isResponseValue(value) {
let flag = false;
if (typeof value === 'object') {
DBreakpoints.forEach(point => {
if (value[point]) {
flag = true;
}
});
}
return flag;
}
function runResponse(value, func) {
if (value) {
if (isResponseValue(value)) {
DBreakpoints.forEach(point => {
if (value[point]) {
func(point, value[point]);
}
});
}
else {
func(null, value);
}
}
}
function getDSpanClass(point, value) {
const classType = value === 0 ? 'd' : 'col';
const classValue = value === 0 ? 'none' : value;
return point ? `dl-${classType}-${point}-${classValue}` : `dl-${classType}-${classValue}`;
}
/* 如果是ss 则表示全局生效 */
function transPoint(point) {
if (point === 'ss') {
return null;
}
return point;
}
function pointAndValueMapToClassName(paramName, classList, point, value) {
const finalPonit = transPoint(point);
const classPrefixMap = {
dOffset: 'dl-offset-',
dAlign: 'dl-align-items-',
dJustify: 'dl-justify-content-',
dAlignSelf: 'dl-align-self-',
dOrder: 'dl-order-',
// dFlexWrap: '',
dSpan: getDSpanClass,
dCols: 'dl-row-cols-',
};
if (typeof classPrefixMap[paramName] === 'string') {
classList.push(finalPonit ? `${classPrefixMap[paramName]}${finalPonit}-${value}` : `${classPrefixMap[paramName]}${value}`);
}
else if (typeof classPrefixMap[paramName] === 'function') {
classList.push(classPrefixMap[paramName](finalPonit, value));
}
}
/**
*
* 此函数用以绑定当前类中可能需要绑定的Class,并识别响应式Object
*
*/
export function updateClassList(context, elementRef, renderer) {
const classParamsName = ['dSpan', 'dOffset', 'dAlign', 'dJustify', 'dAlignSelf', 'dOrder', 'dCols'];
const tempClassList = [];
classParamsName.forEach(paramName => {
if (context[paramName]) {
runResponse(context[paramName], pointAndValueMapToClassName.bind(this, paramName, tempClassList));
}
});
if (context.classList) {
context.classList.forEach(className => {
renderer.removeClass(elementRef.nativeElement, className);
});
}
context.classList = tempClassList;
context.classList.forEach(className => {
renderer.addClass(elementRef.nativeElement, className);
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2dWkvbGF5b3V0L2xheW91dC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsWUFBWSxFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBRS9FLFNBQVMsZUFBZSxDQUFDLEtBQThCO0lBQ3JELElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNqQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxLQUE4QixFQUFFLElBQThDO0lBQ2pHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxLQUFrQixFQUFFLEtBQVU7SUFDbkQsTUFBTSxTQUFTLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENB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RCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERCcmVha3BvaW50LCBEQnJlYWtwb2ludHMsIERSZXNwb25zZVBhcmFtZXRlciB9IGZyb20gJy4vbGF5b3V0LnR5cGVzJztcblxuZnVuY3Rpb24gaXNSZXNwb25zZVZhbHVlKHZhbHVlOiBEUmVzcG9uc2VQYXJhbWV0ZXI8YW55Pikge1xuICBsZXQgZmxhZyA9IGZhbHNlO1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgIERCcmVha3BvaW50cy5mb3JFYWNoKHBvaW50ID0+IHtcbiAgICAgIGlmICh2YWx1ZVtwb2ludF0pIHtcbiAgICAgICAgZmxhZyA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGZsYWc7XG59XG5cbmZ1bmN0aW9uIHJ1blJlc3BvbnNlKHZhbHVlOiBEUmVzcG9uc2VQYXJhbWV0ZXI8YW55PiwgZnVuYzogKHBvaW50OiBEQnJlYWtwb2ludCwgdmFsdWU6IGFueSkgPT4gdm9pZCkge1xuICBpZiAodmFsdWUpIHtcbiAgICBpZiAoaXNSZXNwb25zZVZhbHVlKHZhbHVlKSkge1xuICAgICAgREJyZWFrcG9pbnRzLmZvckVhY2gocG9pbnQgPT4ge1xuICAgICAgICBpZiAodmFsdWVbcG9pbnRdKSB7XG4gICAgICAgICAgZnVuYyhwb2ludCwgdmFsdWVbcG9pbnRdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZ1bmMobnVsbCwgdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREU3BhbkNsYXNzKHBvaW50OiBEQnJlYWtwb2ludCwgdmFsdWU6IGFueSk6IHN0cmluZyB7XG4gIGNvbnN0IGNsYXNzVHlwZSA9IHZhbHVlID09PSAwID8gJ2QnIDogJ2NvbCc7XG4gIGNvbnN0IGNsYXNzVmFsdWUgPSB2YWx1ZSA9PT0gMCA/ICdub25lJyA6IHZhbHVlO1xuXG4gIHJldHVybiBwb2ludCA/IGBkbC0ke2NsYXNzVHlwZX0tJHtwb2ludH0tJHtjbGFzc1ZhbHVlfWAgOiBgZGwtJHtjbGFzc1R5cGV9LSR7Y2xhc3NWYWx1ZX1gO1xufVxuXG4vKiDlpoLmnpzmmK9zcyDliJnooajnpLrlhajlsYDnlJ/mlYggKi9cbmZ1bmN0aW9uIHRyYW5zUG9pbnQocG9pbnQ6IERCcmVha3BvaW50KSB7XG4gIGlmIChwb2ludCA9PT0gJ3NzJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHBvaW50O1xufVxuXG5mdW5jdGlvbiBwb2ludEFuZFZhbHVlTWFwVG9DbGFzc05hbWUocGFyYW1OYW1lLCBjbGFzc0xpc3QsIHBvaW50LCB2YWx1ZSkge1xuICBjb25zdCBmaW5hbFBvbml0ID0gdHJhbnNQb2ludChwb2ludCk7XG5cbiAgY29uc3QgY2xhc3NQcmVmaXhNYXA6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7XG4gICAgZE9mZnNldDogJ2RsLW9mZnNldC0nLFxuICAgIGRBbGlnbjogJ2RsLWFsaWduLWl0ZW1zLScsXG4gICAgZEp1c3RpZnk6ICdkbC1qdXN0aWZ5LWNvbnRlbnQtJyxcbiAgICBkQWxpZ25TZWxmOiAnZGwtYWxpZ24tc2VsZi0nLFxuICAgIGRPcmRlcjogJ2RsLW9yZGVyLScsXG4gICAgLy8gZEZsZXhXcmFwOiAnJyxcbiAgICBkU3BhbjogZ2V0RFNwYW5DbGFzcyxcbiAgICBkQ29sczogJ2RsLXJvdy1jb2xzLScsXG4gIH07XG5cbiAgaWYgKHR5cGVvZiBjbGFzc1ByZWZpeE1hcFtwYXJhbU5hbWVdID09PSAnc3RyaW5nJykge1xuICAgIGNsYXNzTGlzdC5wdXNoKGZpbmFsUG9uaXQgPyBgJHtjbGFzc1ByZWZpeE1hcFtwYXJhbU5hbWVdfSR7ZmluYWxQb25pdH0tJHt2YWx1ZX1gIDogYCR7Y2xhc3NQcmVmaXhNYXBbcGFyYW1OYW1lXX0ke3ZhbHVlfWApO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBjbGFzc1ByZWZpeE1hcFtwYXJhbU5hbWVdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2xhc3NMaXN0LnB1c2goY2xhc3NQcmVmaXhNYXBbcGFyYW1OYW1lXShmaW5hbFBvbml0LCB2YWx1ZSkpO1xuICB9XG59XG5cbi8qKlxuICpcbiAqIOatpOWHveaVsOeUqOS7pee7keWumuW9k+WJjeexu+S4reWPr+iDvemcgOimgee7keWumueahENsYXNz77yM5bm26K+G5Yir5ZON5bqU5byPT2JqZWN0XG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQ2xhc3NMaXN0KGNvbnRleHQ6IGFueSwgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICBjb25zdCBjbGFzc1BhcmFtc05hbWUgPSBbJ2RTcGFuJywgJ2RPZmZzZXQnLCAnZEFsaWduJywgJ2RKdXN0aWZ5JywgJ2RBbGlnblNlbGYnLCAnZE9yZGVyJywgJ2RDb2xzJ107XG5cbiAgY29uc3QgdGVtcENsYXNzTGlzdCA9IFtdO1xuICBjbGFzc1BhcmFtc05hbWUuZm9yRWFjaChwYXJhbU5hbWUgPT4ge1xuICAgIGlmIChjb250ZXh0W3BhcmFtTmFtZV0pIHtcbiAgICAgIHJ1blJlc3BvbnNlKGNvbnRleHRbcGFyYW1OYW1lXSwgcG9pbnRBbmRWYWx1ZU1hcFRvQ2xhc3NOYW1lLmJpbmQodGhpcywgcGFyYW1OYW1lLCB0ZW1wQ2xhc3NMaXN0KSk7XG4gICAgfVxuICB9KTtcblxuICBpZiAoY29udGV4dC5jbGFzc0xpc3QpIHtcbiAgICBjb250ZXh0LmNsYXNzTGlzdC5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XG4gICAgICByZW5kZXJlci5yZW1vdmVDbGFzcyhlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgfSk7XG4gIH1cblxuICBjb250ZXh0LmNsYXNzTGlzdCA9IHRlbXBDbGFzc0xpc3Q7XG4gIGNvbnRleHQuY2xhc3NMaXN0LmZvckVhY2goY2xhc3NOYW1lID0+IHtcbiAgICByZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gIH0pO1xufVxuIl19