@alauda-fe/common
Version:
Alauda frontend team common codes.
89 lines • 13.8 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { MultiSelectComponent } from '@alauda/ui';
import { ChangeDetectorRef, Directive, ElementRef, Input, Optional, Renderer2, ViewContainerRef, } from '@angular/core';
import { ValueHook } from '../../core/public-api';
import * as i0 from "@angular/core";
import * as i1 from "@alauda/ui";
export const PREFIX_LABEL_CLASS = 'acl-select-prefix__label';
const PREFIX_LABEL_WRAPPER_CLASS = 'acl-select-prefix__wrapper';
// 补全父级div的padding-left: 7px和prefixLabel的margin-right: 8px;
const PREFIX_LABEL_PLACEHOLDER_PADDING_LEFT_FIX = 7 + 8;
const AUI_SELECT_CLASS = 'aui-select';
const AUI_MULTI_SELECT_CLASS = 'aui-multi-select';
const AUI_MULTI_SELECT_SUFFIX_CLASS = 'aui-multi-select__suffix';
const AUI_MULTI_SELECT_PLACEHOLDER_CLASS = 'aui-multi-select__placeholder';
// NOTE: 提供此指令,是由于个人不支持此组件行为,不建议直接引入aui,希望作为业务上的尝试,因此提供指令以供删改
// 纯css无法提供本问题的完整解决方案,若有更优方案,请删除此部分代码,以及 acl-select-prefix mixin
export class SelectPrefixLabelDirective {
queryElementByClassName(className) {
return this.elementRef.nativeElement?.querySelector(`.${className}`);
}
createInlineLabel(value, className = PREFIX_LABEL_CLASS) {
const label = this.renderer.createElement('span');
this.renderer.addClass(label, className);
if (typeof value === 'string') {
// 此处加上 ':' 是由于 template 时无需分隔符,不希望再加入额外的class进行控制
label.textContent = `${value}:`;
}
else {
const view = this.viewContainerRef.createEmbeddedView(value);
const templateElement = view.rootNodes[0];
label.append(templateElement);
}
return label;
}
insertNode(container, value, refChild) {
let inlineLabel = this.queryElementByClassName(PREFIX_LABEL_CLASS);
if (inlineLabel) {
inlineLabel.remove();
}
inlineLabel = this.createInlineLabel(value);
this.renderer.insertBefore(container, inlineLabel, refChild, false);
const placeholder = this.queryElementByClassName(AUI_MULTI_SELECT_PLACEHOLDER_CLASS);
if (placeholder) {
placeholder.style.paddingLeft = `${inlineLabel.offsetWidth + PREFIX_LABEL_PLACEHOLDER_PADDING_LEFT_FIX}px`;
}
}
constructor(elementRef, renderer, viewContainerRef, multiSelectComponent) {
this.elementRef = elementRef;
this.renderer = renderer;
this.viewContainerRef = viewContainerRef;
this.multiSelectComponent = multiSelectComponent;
}
static { this.ɵfac = function SelectPrefixLabelDirective_Factory(t) { return new (t || SelectPrefixLabelDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.MultiSelectComponent, 8)); }; }
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SelectPrefixLabelDirective, selectors: [["aui-select", "aclPrefixLabel", ""], ["aui-multi-select", "aclPrefixLabel", ""]], inputs: { aclPrefixLabel: "aclPrefixLabel" }, standalone: true }); }
}
__decorate([
ValueHook(function (value) {
requestAnimationFrame(() => {
if (!value) {
return;
}
// 适配 multi select
if (this.multiSelectComponent) {
const container = this.queryElementByClassName(AUI_MULTI_SELECT_CLASS);
const childRef = this.queryElementByClassName(AUI_MULTI_SELECT_SUFFIX_CLASS);
this.insertNode(container, value, childRef);
}
else {
const container = this.queryElementByClassName(AUI_SELECT_CLASS);
this.renderer.addClass(container, PREFIX_LABEL_WRAPPER_CLASS);
this.insertNode(container, value);
}
this.viewContainerRef.injector.get(ChangeDetectorRef).markForCheck();
});
}),
__metadata("design:type", Object)
], SelectPrefixLabelDirective.prototype, "aclPrefixLabel", void 0);
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectPrefixLabelDirective, [{
type: Directive,
args: [{
selector: 'aui-select[aclPrefixLabel],aui-multi-select[aclPrefixLabel]',
standalone: true,
}]
}], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i1.MultiSelectComponent, decorators: [{
type: Optional
}] }], { aclPrefixLabel: [{
type: Input
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3dpZGdldC9zZWxlY3QtcHJlZml4LWxhYmVsL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFFVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFFbEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsMEJBQTBCLENBQUM7QUFDN0QsTUFBTSwwQkFBMEIsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSwyREFBMkQ7QUFDM0QsTUFBTSx5Q0FBeUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hELE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO0FBQ3RDLE1BQU0sc0JBQXNCLEdBQUcsa0JBQWtCLENBQUM7QUFDbEQsTUFBTSw2QkFBNkIsR0FBRywwQkFBMEIsQ0FBQztBQUNqRSxNQUFNLGtDQUFrQyxHQUFHLCtCQUErQixDQUFDO0FBRTNFLDZEQUE2RDtBQUM3RCxnRUFBZ0U7QUFLaEUsTUFBTSxPQUFPLDBCQUEwQjtJQTJCckMsdUJBQXVCLENBQUMsU0FBaUI7UUFDdkMsT0FBUSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQTZCLEVBQUUsYUFBYSxDQUNsRSxJQUFJLFNBQVMsRUFBRSxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUNmLEtBQWdDLEVBQ2hDLFNBQVMsR0FBRyxrQkFBa0I7UUFFOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFv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SnRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsNkRBQTZEO2dCQUN2RSxVQUFVLEVBQUUsSUFBSTthQUNqQjs7c0JBaUZJLFFBQVE7cUJBdkRYLGNBQWM7a0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBWYWx1ZUhvb2sgfSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgUFJFRklYX0xBQkVMX0NMQVNTID0gJ2FjbC1zZWxlY3QtcHJlZml4X19sYWJlbCc7XG5jb25zdCBQUkVGSVhfTEFCRUxfV1JBUFBFUl9DTEFTUyA9ICdhY2wtc2VsZWN0LXByZWZpeF9fd3JhcHBlcic7XG4vLyDooaXlhajniLbnuqdkaXbnmoRwYWRkaW5nLWxlZnQ6IDdweOWSjHByZWZpeExhYmVs55qEbWFyZ2luLXJpZ2h0OiA4cHg7XG5jb25zdCBQUkVGSVhfTEFCRUxfUExBQ0VIT0xERVJfUEFERElOR19MRUZUX0ZJWCA9IDcgKyA4O1xuY29uc3QgQVVJX1NFTEVDVF9DTEFTUyA9ICdhdWktc2VsZWN0JztcbmNvbnN0IEFVSV9NVUxUSV9TRUxFQ1RfQ0xBU1MgPSAnYXVpLW11bHRpLXNlbGVjdCc7XG5jb25zdCBBVUlfTVVMVElfU0VMRUNUX1NVRkZJWF9DTEFTUyA9ICdhdWktbXVsdGktc2VsZWN0X19zdWZmaXgnO1xuY29uc3QgQVVJX01VTFRJX1NFTEVDVF9QTEFDRUhPTERFUl9DTEFTUyA9ICdhdWktbXVsdGktc2VsZWN0X19wbGFjZWhvbGRlcic7XG5cbi8vIE5PVEU6IOaPkOS+m+atpOaMh+S7pO+8jOaYr+eUseS6juS4quS6uuS4jeaUr+aMgeatpOe7hOS7tuihjOS4uu+8jOS4jeW7uuiuruebtOaOpeW8leWFpWF1ae+8jOW4jOacm+S9nOS4uuS4muWKoeS4iueahOWwneivle+8jOWboOatpOaPkOS+m+aMh+S7pOS7peS+m+WIoOaUuVxuLy8g57qvY3Nz5peg5rOV5o+Q5L6b5pys6Zeu6aKY55qE5a6M5pW06Kej5Yaz5pa55qGILOiLpeacieabtOS8mOaWueahiO+8jOivt+WIoOmZpOatpOmDqOWIhuS7o+egge+8jOS7peWPiiBhY2wtc2VsZWN0LXByZWZpeCBtaXhpblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnYXVpLXNlbGVjdFthY2xQcmVmaXhMYWJlbF0sYXVpLW11bHRpLXNlbGVjdFthY2xQcmVmaXhMYWJlbF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RQcmVmaXhMYWJlbERpcmVjdGl2ZSB7XG4gIEBWYWx1ZUhvb2soZnVuY3Rpb24gKFxuICAgIHRoaXM6IFNlbGVjdFByZWZpeExhYmVsRGlyZWN0aXZlLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LFxuICApIHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyDpgILphY0gbXVsdGkgc2VsZWN0XG4gICAgICBpZiAodGhpcy5tdWx0aVNlbGVjdENvbXBvbmVudCkge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLnF1ZXJ5RWxlbWVudEJ5Q2xhc3NOYW1lKEFVSV9NVUxUSV9TRUxFQ1RfQ0xBU1MpO1xuICAgICAgICBjb25zdCBjaGlsZFJlZiA9IHRoaXMucXVlcnlFbGVtZW50QnlDbGFzc05hbWUoXG4gICAgICAgICAgQVVJX01VTFRJX1NFTEVDVF9TVUZGSVhfQ0xBU1MsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaW5zZXJ0Tm9kZShjb250YWluZXIsIHZhbHVlLCBjaGlsZFJlZik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLnF1ZXJ5RWxlbWVudEJ5Q2xhc3NOYW1lKEFVSV9TRUxFQ1RfQ0xBU1MpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGNvbnRhaW5lciwgUFJFRklYX0xBQkVMX1dSQVBQRVJfQ0xBU1MpO1xuICAgICAgICB0aGlzLmluc2VydE5vZGUoY29udGFpbmVyLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfSlcbiAgQElucHV0KClcbiAgYWNsUHJlZml4TGFiZWw6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcXVlcnlFbGVtZW50QnlDbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KT8ucXVlcnlTZWxlY3RvcihcbiAgICAgIGAuJHtjbGFzc05hbWV9YCxcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlSW5saW5lTGFiZWwoXG4gICAgdmFsdWU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgY2xhc3NOYW1lID0gUFJFRklYX0xBQkVMX0NMQVNTLFxuICApIHtcbiAgICBjb25zdCBsYWJlbCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpIGFzIEhUTUxTcGFuRWxlbWVudDtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGxhYmVsLCBjbGFzc05hbWUpO1xuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIOatpOWkhOWKoOS4iiAnOicg5piv55Sx5LqOIHRlbXBsYXRlIOaXtuaXoOmcgOWIhumalOespu+8jOS4jeW4jOacm+WGjeWKoOWFpemineWklueahGNsYXNz6L+b6KGM5o6n5Yi2XG4gICAgICBsYWJlbC50ZXh0Q29udGVudCA9IGAke3ZhbHVlfTpgO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB2aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh2YWx1ZSk7XG4gICAgICBjb25zdCB0ZW1wbGF0ZUVsZW1lbnQgPSB2aWV3LnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGxhYmVsLmFwcGVuZCh0ZW1wbGF0ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBsYWJlbDtcbiAgfVxuXG4gIGluc2VydE5vZGUoXG4gICAgY29udGFpbmVyOiBFbGVtZW50LFxuICAgIHZhbHVlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHJlZkNoaWxkPzogRWxlbWVudCxcbiAgKSB7XG4gICAgbGV0IGlubGluZUxhYmVsID0gdGhpcy5xdWVyeUVsZW1lbnRCeUNsYXNzTmFtZShcbiAgICAgIFBSRUZJWF9MQUJFTF9DTEFTUyxcbiAgICApIGFzIEhUTUxTcGFuRWxlbWVudDtcbiAgICBpZiAoaW5saW5lTGFiZWwpIHtcbiAgICAgIGlubGluZUxhYmVsLnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGlubGluZUxhYmVsID0gdGhpcy5jcmVhdGVJbmxpbmVMYWJlbCh2YWx1ZSk7XG4gICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUoY29udGFpbmVyLCBpbmxpbmVMYWJlbCwgcmVmQ2hpbGQsIGZhbHNlKTtcbiAgICBjb25zdCBwbGFjZWhvbGRlciA9IHRoaXMucXVlcnlFbGVtZW50QnlDbGFzc05hbWUoXG4gICAgICBBVUlfTVVMVElfU0VMRUNUX1BMQUNFSE9MREVSX0NMQVNTLFxuICAgICkgYXMgSFRNTFNwYW5FbGVtZW50O1xuICAgIGlmIChwbGFjZWhvbGRlcikge1xuICAgICAgcGxhY2Vob2xkZXIuc3R5bGUucGFkZGluZ0xlZnQgPSBgJHtcbiAgICAgICAgaW5saW5lTGFiZWwub2Zmc2V0V2lkdGggKyBQUkVGSVhfTEFCRUxfUExBQ0VIT0xERVJfUEFERElOR19MRUZUX0ZJWFxuICAgICAgfXB4YDtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbXVsdGlTZWxlY3RDb21wb25lbnQ6IE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICApIHt9XG59XG4iXX0=