@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
43 lines • 5.05 kB
JavaScript
import { Injectable } from '@angular/core';
import { OptionsService, gettext } from '@c8y/ngx-components';
import { BrandingTabFactory } from '@c8y/ngx-components/branding/shared';
import { map } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/ngx-components";
export const darkThemeTabName = gettext('Dark theme');
/**
* Factory for creating the dark theme tab.
* Extends the BrandingTabFactory to provide the dark theme tab.
*/
export class DarkThemeTabFactory extends BrandingTabFactory {
constructor(options) {
super();
this.options = options;
}
/**
* Overrides the `getTabsForVersion` method of `BrandingTabFactory` to provide the dark theme tab.
*/
getTabsForVersion(name) {
return [
{
path: this.getPathForBranding(name, 'dark'),
label: darkThemeTabName,
icon: 'moon',
priority: 400
}
];
}
/**
* Overrides the `shouldShowTab$` method of `BrandingTabFactory` to show the dark theme tab only if the dark theme is available.
*/
shouldShowTab$() {
return this.options.get$('darkThemeAvailable', false, true).pipe(map(value => !!value));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DarkThemeTabFactory, deps: [{ token: i1.OptionsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DarkThemeTabFactory, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DarkThemeTabFactory, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}], ctorParameters: () => [{ type: i1.OptionsService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFyay10aGVtZS10YWIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2JyYW5kaW5nL2RhcmstdGhlbWUvZGFyay10aGVtZS10YWIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQU8sT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFekUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFckMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXREOzs7R0FHRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFDekQsWUFBb0IsT0FBdUI7UUFDekMsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUUzQyxDQUFDO0lBRUQ7O09BRUc7SUFDZ0IsaUJBQWlCLENBQUMsSUFBWTtRQUMvQyxPQUFPO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO2dCQUMzQyxLQUFLLEVBQUUsZ0JBQWdCO2dCQUN2QixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsR0FBRzthQUNkO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNnQixjQUFjO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDOytHQXhCVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUROLE1BQU07OzRGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UsIFRhYiwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQnJhbmRpbmdUYWJGYWN0b3J5IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9icmFuZGluZy9zaGFyZWQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgZGFya1RoZW1lVGFiTmFtZSA9IGdldHRleHQoJ0RhcmsgdGhlbWUnKTtcblxuLyoqXG4gKiBGYWN0b3J5IGZvciBjcmVhdGluZyB0aGUgZGFyayB0aGVtZSB0YWIuXG4gKiBFeHRlbmRzIHRoZSBCcmFuZGluZ1RhYkZhY3RvcnkgdG8gcHJvdmlkZSB0aGUgZGFyayB0aGVtZSB0YWIuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRGFya1RoZW1lVGFiRmFjdG9yeSBleHRlbmRzIEJyYW5kaW5nVGFiRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgYGdldFRhYnNGb3JWZXJzaW9uYCBtZXRob2Qgb2YgYEJyYW5kaW5nVGFiRmFjdG9yeWAgdG8gcHJvdmlkZSB0aGUgZGFyayB0aGVtZSB0YWIuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0VGFic0ZvclZlcnNpb24obmFtZTogc3RyaW5nKTogVGFiW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6IHRoaXMuZ2V0UGF0aEZvckJyYW5kaW5nKG5hbWUsICdkYXJrJyksXG4gICAgICAgIGxhYmVsOiBkYXJrVGhlbWVUYWJOYW1lLFxuICAgICAgICBpY29uOiAnbW9vbicsXG4gICAgICAgIHByaW9yaXR5OiA0MDBcbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgYHNob3VsZFNob3dUYWIkYCBtZXRob2Qgb2YgYEJyYW5kaW5nVGFiRmFjdG9yeWAgdG8gc2hvdyB0aGUgZGFyayB0aGVtZSB0YWIgb25seSBpZiB0aGUgZGFyayB0aGVtZSBpcyBhdmFpbGFibGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkU2hvd1RhYiQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQkKCdkYXJrVGhlbWVBdmFpbGFibGUnLCBmYWxzZSwgdHJ1ZSkucGlwZShtYXAodmFsdWUgPT4gISF2YWx1ZSkpO1xuICB9XG59XG4iXX0=