@alauda-fe/common
Version:
Alauda frontend team common codes.
72 lines • 8.44 kB
JavaScript
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=