UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

43 lines 5.05 kB
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=