UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

72 lines 8.44 kB
import { ChangeDetectorRef, Directive, HostListener, inject, input, Pipe, } from '@angular/core'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { TranslateService } from '../translate/translate.service'; import { HelpDocumentService } from './service'; import * as i0 from "@angular/core"; export class HelpDocDirective { constructor() { this.doc = input.required({ alias: 'aclHelpDoc', }); this.target = input('popover', { alias: 'aclHelpDocTarget' }); this.helpDoc = inject(HelpDocumentService); this.translate = inject(TranslateService); } onClick() { const url = getHelpDocUrl(this.doc(), this.translate.locale); if (this.target() === 'popover') { this.helpDoc.open({ title: this.translate.get('help_doc'), rawUrl: url }); } else { window.open(url, '_blank'); } } static { this.ɵfac = function HelpDocDirective_Factory(t) { return new (t || HelpDocDirective)(); }; } static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: HelpDocDirective, selectors: [["", "aclHelpDoc", ""]], hostBindings: function HelpDocDirective_HostBindings(rf, ctx) { if (rf & 1) { i0.ɵɵlistener("click", function HelpDocDirective_click_HostBindingHandler() { return ctx.onClick(); }); } }, inputs: { doc: [1, "aclHelpDoc", "doc"], target: [1, "aclHelpDocTarget", "target"] }, standalone: true }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HelpDocDirective, [{ type: Directive, args: [{ selector: '[aclHelpDoc]', standalone: true, }] }], null, { onClick: [{ type: HostListener, args: ['click'] }] }); })(); export class HelpDocUrlPipe { constructor() { this.translate = inject(TranslateService); this.cdr = inject(ChangeDetectorRef); this.translate.locale$.pipe(takeUntilDestroyed()).subscribe(() => { this.cdr.markForCheck(); }); } transform(value) { return getHelpDocUrl(value, this.translate.locale); } static { this.ɵfac = function HelpDocUrlPipe_Factory(t) { return new (t || HelpDocUrlPipe)(); }; } static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclHelpDocUrl", type: HelpDocUrlPipe, pure: false }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HelpDocUrlPipe, [{ type: Pipe, args: [{ name: 'aclHelpDocUrl', pure: false, }] }], () => [], null); })(); export function getHelpDocUrl(path, lang) { if (!path || path === '/') { return '/docs/'; } const pathArr = path.slice(path.startsWith('/') ? 1 : 0).split('/'); const [entry, ...rest] = pathArr; const subPath = rest.join('/'); if (lang === 'en') { return `/docs/${entry}/${subPath}`; } return `/docs/${entry}/${lang}/${subPath}`; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2hlbHAtZG9jdW1lbnQvZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksR0FFTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBTWhELE1BQU0sT0FBTyxnQkFBZ0I7SUFKN0I7UUFLRSxRQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBUztZQUMzQixLQUFLLEVBQUUsWUFBWTtTQUNwQixDQUFDLENBQUM7UUFFSCxXQUFNLEdBQUcsS0FBSyxDQUFzQixTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBRXRFLFlBQU8sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN0QyxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FXOUM7SUFSQyxPQUFPO1FBQ0wsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7aUZBbEJVLGdCQUFnQjtvRUFBaEIsZ0JBQWdCO1lBQWhCLHFGQUFBLGFBQVMsSUFBTzs7O2lGQUFoQixnQkFBZ0I7Y0FKNUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixVQUFVLEVBQUUsSUFBSTthQUNqQjtnQkFZQyxPQUFPO2tCQUROLFlBQVk7bUJBQUMsT0FBTzs7QUFldkIsTUFBTSxPQUFPLGNBQWM7SUFJekI7UUFIUSxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBR3RDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0VBWlUsY0FBYzt1RkFBZCxjQUFjOztpRkFBZCxjQUFjO2NBSjFCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsZUFBZTtnQkFDckIsSUFBSSxFQUFFLEtBQUs7YUFDWjs7QUFnQkQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFZLEVBQUUsSUFBWTtJQUN0RCxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUMxQixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwRSxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0lBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFL0IsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDbEIsT0FBTyxTQUFTLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsT0FBTyxTQUFTLEtBQUssSUFBSSxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgUGlwZSxcbiAgUGlwZVRyYW5zZm9ybSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi90cmFuc2xhdGUvdHJhbnNsYXRlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBIZWxwRG9jdW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbEhlbHBEb2NdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSGVscERvY0RpcmVjdGl2ZSB7XG4gIGRvYyA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oe1xuICAgIGFsaWFzOiAnYWNsSGVscERvYycsXG4gIH0pO1xuXG4gIHRhcmdldCA9IGlucHV0PCdwb3BvdmVyJyB8ICdibGFuayc+KCdwb3BvdmVyJywgeyBhbGlhczogJ2FjbEhlbHBEb2NUYXJnZXQnIH0pO1xuXG4gIHByaXZhdGUgaGVscERvYyA9IGluamVjdChIZWxwRG9jdW1lbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBvbkNsaWNrKCkge1xuICAgIGNvbnN0IHVybCA9IGdldEhlbHBEb2NVcmwodGhpcy5kb2MoKSwgdGhpcy50cmFuc2xhdGUubG9jYWxlKTtcbiAgICBpZiAodGhpcy50YXJnZXQoKSA9PT0gJ3BvcG92ZXInKSB7XG4gICAgICB0aGlzLmhlbHBEb2Mub3Blbih7IHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2hlbHBfZG9jJyksIHJhd1VybDogdXJsIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICB9XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnYWNsSGVscERvY1VybCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBIZWxwRG9jVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMudHJhbnNsYXRlLmxvY2FsZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZ2V0SGVscERvY1VybCh2YWx1ZSwgdGhpcy50cmFuc2xhdGUubG9jYWxlKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscERvY1VybChwYXRoOiBzdHJpbmcsIGxhbmc6IHN0cmluZykge1xuICBpZiAoIXBhdGggfHwgcGF0aCA9PT0gJy8nKSB7XG4gICAgcmV0dXJuICcvZG9jcy8nO1xuICB9XG5cbiAgY29uc3QgcGF0aEFyciA9IHBhdGguc2xpY2UocGF0aC5zdGFydHNXaXRoKCcvJykgPyAxIDogMCkuc3BsaXQoJy8nKTtcbiAgY29uc3QgW2VudHJ5LCAuLi5yZXN0XSA9IHBhdGhBcnI7XG4gIGNvbnN0IHN1YlBhdGggPSByZXN0LmpvaW4oJy8nKTtcblxuICBpZiAobGFuZyA9PT0gJ2VuJykge1xuICAgIHJldHVybiBgL2RvY3MvJHtlbnRyeX0vJHtzdWJQYXRofWA7XG4gIH1cblxuICByZXR1cm4gYC9kb2NzLyR7ZW50cnl9LyR7bGFuZ30vJHtzdWJQYXRofWA7XG59XG4iXX0=