@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
40 lines • 5.19 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
/**
* @smeDoc {@label FormatPipe @id smeFormat}
*
* @overview
* @file {@filepath ./examples/format-overview.md}
*
* @example {@label Example enum Converter @id format-example }
* @file {@filename component.html @filepath ./examples/format-example.component.html}
* @file {@filename component.ts @filepath ./examples/format-example.component.ts}
*/
export class FormatPipe {
transform(format, values) {
if (!format || MsftSme.isNullOrUndefined(values) || MsftSme.arrayEquals(values, [])) {
return format;
}
if (!Array.isArray(values)) {
values = [values];
}
const transformedValues = values.map(value => {
const linkValue = value;
if (linkValue.href) {
const targetAttr = linkValue.target ? `target="${linkValue.target}"` : '';
return `<a class="sme-link" ${targetAttr} href="${linkValue.href}">${linkValue.text}</a>`;
}
else {
return value;
}
});
return format.format.apply(format, transformedValues);
}
}
/** @nocollapse */ FormatPipe.ɵfac = function FormatPipe_Factory(t) { return new (t || FormatPipe)(); };
/** @nocollapse */ FormatPipe.ɵpipe = /** @pureOrBreakMyCode */ i0.ɵɵdefinePipe({ name: "smeFormat", type: FormatPipe, pure: true });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormatPipe, [{
type: Pipe,
args: [{ name: 'smeFormat' }]
}], null, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9waXBlcy9mb3JtYXQtcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFVcEQ7Ozs7Ozs7OztHQVNHO0FBRUgsTUFBTSxPQUFPLFVBQVU7SUFDWixTQUFTLENBQUMsTUFBYyxFQUFFLE1BQTRDO1FBQ3pFLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQW9CLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTtZQUNwRyxPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JCO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pDLE1BQU0sU0FBUyxHQUFtQixLQUFLLENBQUM7WUFDeEMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFO2dCQUNoQixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMxRSxPQUFPLHVCQUF1QixVQUFVLFVBQVUsU0FBUyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUM7YUFDN0Y7aUJBQU07Z0JBQ0gsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDMUQsQ0FBQzs7dUZBckJRLFVBQVU7MkdBQVYsVUFBVTt1RkFBVixVQUFVO2NBRHRCLElBQUk7ZUFBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdFBpcGVMaW5rIHtcclxuICAgIHRleHQ6IHN0cmluZztcclxuICAgIGhyZWY6IHN0cmluZztcclxuICAgIHRhcmdldD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRm9ybWF0UGlwZVZhbHVlID0gc3RyaW5nIHwgRm9ybWF0UGlwZUxpbms7XHJcblxyXG4vKipcclxuICogQHNtZURvYyB7QGxhYmVsIEZvcm1hdFBpcGUgQGlkIHNtZUZvcm1hdH1cclxuICpcclxuICogQG92ZXJ2aWV3XHJcbiAqIEBmaWxlIHtAZmlsZXBhdGggLi9leGFtcGxlcy9mb3JtYXQtb3ZlcnZpZXcubWR9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgRXhhbXBsZSBlbnVtIENvbnZlcnRlciBAaWQgZm9ybWF0LWV4YW1wbGUgfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2Zvcm1hdC1leGFtcGxlLmNvbXBvbmVudC5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9mb3JtYXQtZXhhbXBsZS5jb21wb25lbnQudHN9XHJcbiAqL1xyXG5AUGlwZSh7IG5hbWU6ICdzbWVGb3JtYXQnIH0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICBwdWJsaWMgdHJhbnNmb3JtKGZvcm1hdDogc3RyaW5nLCB2YWx1ZXM/OiBGb3JtYXRQaXBlVmFsdWUgfCBGb3JtYXRQaXBlVmFsdWVbXSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCFmb3JtYXQgfHwgTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZCh2YWx1ZXMpIHx8IE1zZnRTbWUuYXJyYXlFcXVhbHMoPEZvcm1hdFBpcGVWYWx1ZVtdPnZhbHVlcywgW10pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xyXG4gICAgICAgICAgICB2YWx1ZXMgPSBbdmFsdWVzXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkVmFsdWVzID0gdmFsdWVzLm1hcCh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxpbmtWYWx1ZSA9IDxGb3JtYXRQaXBlTGluaz52YWx1ZTtcclxuICAgICAgICAgICAgaWYgKGxpbmtWYWx1ZS5ocmVmKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRBdHRyID0gbGlua1ZhbHVlLnRhcmdldCA/IGB0YXJnZXQ9XCIke2xpbmtWYWx1ZS50YXJnZXR9XCJgIDogJyc7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYDxhIGNsYXNzPVwic21lLWxpbmtcIiAke3RhcmdldEF0dHJ9IGhyZWY9XCIke2xpbmtWYWx1ZS5ocmVmfVwiPiR7bGlua1ZhbHVlLnRleHR9PC9hPmA7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZvcm1hdC5mb3JtYXQuYXBwbHkoZm9ybWF0LCB0cmFuc2Zvcm1lZFZhbHVlcyk7XHJcbiAgICB9XHJcbn1cclxuIl19