UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

503 lines (491 loc) 25 kB
import { BrandVersion, StoreBrandingService, BrandingVersionService, BrandingTrackingService, BrandingOptionsJson, BrandingShadesService, ApplyBrandingLocallyService } from '@c8y/ngx-components/branding/shared/data'; import { Observable } from 'rxjs'; import { ActivatedRoute, Router } from '@angular/router'; import { Pagination, DisplayOptions, ActionControl, Column, AppStateService, ZipService, ModalService, AlertService, MessageBannerService, FilesService, ThemeSwitcherService, CellRendererContext, ModalComponent, DroppedFile, ClipboardService } from '@c8y/ngx-components'; import { IApplication, ApplicationService } from '@c8y/client'; import { StaticAssetsService, StaticAsset } from '@c8y/ngx-components/static-assets/data'; import { BsModalService } from 'ngx-bootstrap/modal'; import { AddBrandingModalService } from '@c8y/ngx-components/branding/shared/lazy/add-branding-modal'; import * as i0 from '@angular/core'; import { OnDestroy } from '@angular/core'; import * as _angular_forms from '@angular/forms'; import { ControlValueAccessor, FormBuilder, FormControl, AsyncValidator } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; declare class BrandingImportModalService { private modal; constructor(modal: BsModalService); openBrandingImportModal(): Promise<void>; static ɵfac: i0.ɵɵFactoryDeclaration<BrandingImportModalService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<BrandingImportModalService>; } declare class BrandingComponent { private brandings; private activatedRoute; private appState; private applicationService; private zip; private staticAssets; private router; private modal; private confirmModal; private brandingVersionService; private addBrandingModalService; private alert; private brandingImportModalService; private brandingTracking; pagination: Pagination; displayOptions: DisplayOptions; actionControls: ActionControl[]; columns: Column[]; currentAppContextPath: string; availableBrandingVariants$: Observable<{ publicOptions: IApplication; variants: BrandVersion[]; }>; private reloadTrigger; constructor(brandings: StoreBrandingService, activatedRoute: ActivatedRoute, appState: AppStateService, applicationService: ApplicationService, zip: ZipService, staticAssets: StaticAssetsService, router: Router, modal: BsModalService, confirmModal: ModalService, brandingVersionService: BrandingVersionService, addBrandingModalService: AddBrandingModalService, alert: AlertService, brandingImportModalService: BrandingImportModalService, brandingTracking: BrandingTrackingService); deleteAllBrandings(publicOptions?: IApplication): Promise<void>; exportBranding(variant: BrandVersion): Promise<void>; refresh(): void; addNewVersion(): Promise<void>; duplicateVersion(version: BrandVersion): Promise<void>; editBranding(brandingName: string): Promise<boolean>; getStartedUsingBranding(): Promise<void>; applyToApps(version: BrandVersion): Promise<void>; importBranding(): Promise<void>; private removeTagsFromOtherVersions; static ɵfac: i0.ɵɵFactoryDeclaration<BrandingComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<BrandingComponent, "c8y-branding", never, {}, {}, never, never, true, never>; } declare class ApplyBrandingToAppService { private apps; constructor(apps: ApplicationService); getBrandableApps(): Promise<IApplication[]>; getHostedAppsWhereDynamicOptionsUrlIsUndefined(apps: IApplication[]): IApplication[]; static ɵfac: i0.ɵɵFactoryDeclaration<ApplyBrandingToAppService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ApplyBrandingToAppService>; } declare class BrandingFormComponent implements ControlValueAccessor { private formBuilder; private messageBannerService; formGroup: ReturnType<BrandingFormComponent['initForm']>; messageBannerHelp: "Supports markdown. Use {{ headerMark }} for headers, {{ listMark }} for lists, {{ boldMark }} for bold, {{ italicMark }} for italic, and {{ linkMark }} for links."; messageBannerHelpParams: { headerMark: string; listMark: string; boldMark: string; italicMark: string; linkMark: string; }; private onTouched; private externalValue; private formGroupValueChanges$; constructor(formBuilder: FormBuilder, messageBannerService: MessageBannerService); writeValue(obj: string): void; registerOnChange(fn: (value: string) => void): void; registerOnTouched(fn: () => void): void; cockieBannerChange(toggleState: boolean): void; onBlur(): void; initForm(): _angular_forms.FormGroup<{ darkThemeAvailable: _angular_forms.FormControl<boolean>; cookieBanner: _angular_forms.FormGroup<{ cookieBannerTitle: _angular_forms.FormControl<string>; cookieBannerText: _angular_forms.FormControl<string>; cookieBannerDisabled: _angular_forms.FormControl<boolean>; policyUrl: _angular_forms.FormControl<string>; policyVersion: _angular_forms.FormControl<string>; }>; messageBanner: _angular_forms.FormGroup<{ messageBannerEnabled: _angular_forms.FormControl<boolean>; messageBannerContent: _angular_forms.FormControl<string>; messageBannerType: _angular_forms.FormControl<"success" | "warning" | "danger" | "info" | "system">; messageBannerId: _angular_forms.FormControl<string>; }>; baseTypography: _angular_forms.FormGroup<{ "font-url": _angular_forms.FormControl<string>; "font-family-base": _angular_forms.FormControl<string>; }>; headingsAndNavigatorTypography: _angular_forms.FormGroup<{ "font-family-headings": _angular_forms.FormControl<string>; "navigator-font-family": _angular_forms.FormControl<string>; }>; genericApplicationOptions: _angular_forms.FormGroup<{ globalTitle: _angular_forms.FormControl<string>; faviconUrl: _angular_forms.FormControl<string>; }>; }>; applyStateToForm(branding: BrandingOptionsJson): void; convertFormToState(value: BrandingFormComponent['formGroup']['value']): string; previewBanner(): void; private setupMessageBannerIdAutoGeneration; private ensureMessageBannerIdExists; static ɵfac: i0.ɵɵFactoryDeclaration<BrandingFormComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<BrandingFormComponent, "c8y-branding-form", never, {}, {}, never, never, true, never>; } declare class BrandingThemeFormComponent implements ControlValueAccessor, OnDestroy { private activatedRoute; private formBuilder; private filesService; private brandingShades; private themeSwitcher; readonly formStructure: { readonly brandColors: { readonly label: "Brand colors"; readonly brandColors: { readonly label: "Brand colors"; readonly colors: [{ readonly label: "Brand primary"; readonly formControlName: "brand-primary"; }, { readonly label: "Brand light"; readonly formControlName: "brand-light"; }, { readonly label: "Brand dark"; readonly formControlName: "brand-dark"; }]; }; readonly shades: { readonly label: "Shades"; readonly colorColumn: [[{ readonly label: "c8y-brand-10"; readonly formControlName: "c8y-brand-10"; }, { readonly label: "c8y-brand-20"; readonly formControlName: "c8y-brand-20"; }, { readonly label: "c8y-brand-30"; readonly formControlName: "c8y-brand-30"; }, { readonly label: "c8y-brand-40"; readonly formControlName: "c8y-brand-40"; }], [{ readonly label: "c8y-brand-50"; readonly formControlName: "c8y-brand-50"; }, { readonly label: "c8y-brand-60"; readonly formControlName: "c8y-brand-60"; }, { readonly label: "c8y-brand-70"; readonly formControlName: "c8y-brand-70"; }, { readonly label: "c8y-brand-80"; readonly formControlName: "c8y-brand-80"; }]]; }; }; readonly statusColors: { readonly label: "Status colors"; readonly subCategories: readonly [{ readonly label: "Info colors"; readonly colors: [{ readonly label: "Info"; readonly formControlName: "palette-status-info"; }, { readonly label: "Info light"; readonly formControlName: "palette-status-info-light"; }, { readonly label: "Info dark"; readonly formControlName: "palette-status-info-dark"; }]; }, { readonly label: "Warning colors"; readonly colors: [{ readonly label: "Warning"; readonly formControlName: "palette-status-warning"; }, { readonly label: "Warning light"; readonly formControlName: "palette-status-warning-light"; }, { readonly label: "Warning dark"; readonly formControlName: "palette-status-warning-dark"; }]; }, { readonly label: "Danger colors"; readonly colors: [{ readonly label: "Danger"; readonly formControlName: "palette-status-danger"; }, { readonly label: "Danger light"; readonly formControlName: "palette-status-danger-light"; }, { readonly label: "Danger dark"; readonly formControlName: "palette-status-danger-dark"; }]; }, { readonly label: "Success colors"; readonly colors: [{ readonly label: "Success"; readonly formControlName: "palette-status-success"; }, { readonly label: "Success light"; readonly formControlName: "palette-status-success-light"; }, { readonly label: "Success dark"; readonly formControlName: "palette-status-success-dark"; }]; }]; }; readonly actionBar: { readonly label: "Action bar"; readonly colorColumns: readonly [{ readonly label: "Action bar"; readonly colorColumns: [[{ readonly label: "Background color"; readonly formControlName: "action-bar-background-default"; }, { readonly label: "Text color"; readonly formControlName: "action-bar-color-default"; }, { readonly label: "Icon color"; readonly formControlName: "action-bar-icon-color"; }], [{ readonly label: "Button color"; readonly formControlName: "action-bar-color-actions"; }, { readonly label: "Button hover color"; readonly formControlName: "action-bar-color-actions-hover"; }]]; }]; }; readonly mainHeader: { readonly label: "Main header"; readonly colorColumns: readonly [{ readonly label: "Main header"; readonly colorColumns: [[{ readonly label: "Background color"; readonly formControlName: "header-color"; }, { readonly label: "Text color"; readonly formControlName: "header-text-color"; }], [{ readonly label: "Button hover color"; readonly formControlName: "header-hover-color"; }]]; }]; }; readonly navigator: { readonly label: "Navigator"; readonly colorColumns: readonly [{ readonly label: "Navigation"; readonly colors: [{ readonly label: "Background color"; readonly formControlName: "navigator-bg-color"; }, { readonly label: "Text color"; readonly formControlName: "navigator-text-color"; }, { readonly label: "Separator color"; readonly formControlName: "navigator-separator-color"; }]; }, { readonly label: "Header"; readonly colors: [{ readonly label: "Header background color"; readonly formControlName: "navigator-header-bg"; }, { readonly label: "Title color"; readonly formControlName: "navigator-title-color"; }]; }, { readonly label: "Active node"; readonly colors: [{ readonly label: "Active background color"; readonly formControlName: "navigator-active-bg"; }, { readonly label: "Active border color"; readonly formControlName: "navigator-border-active"; }, { readonly label: "Active text color"; readonly formControlName: "navigator-color-active"; }]; }]; }; readonly rightDrawer: { readonly label: "Right drawer"; readonly colorColumns: readonly [{ readonly label: "Panel"; readonly colors: [{ readonly label: "Background color"; readonly formControlName: "right-drawer-background-default"; }, { readonly label: "Text color"; readonly formControlName: "right-drawer-text-color-default"; }, { readonly label: "Text muted color"; readonly formControlName: "right-drawer-text-color-muted"; }, { readonly label: "Separator color"; readonly formControlName: "right-drawer-separator-color"; }]; }, { readonly label: "Interactive"; readonly colors: [{ readonly label: "Link color"; readonly formControlName: "right-drawer-link-color"; }, { readonly label: "Link hover color"; readonly formControlName: "right-drawer-link-color-hover"; }]; }]; }; }; formGroup: ReturnType<BrandingThemeFormComponent['initForm']>; imageFileExtensions: string[]; resetShadesButtonEnabled$: Observable<boolean>; private onTouched; private externalValue; private formGroupValueChanges$; private addDarkThemePrefix; private readonly varsToConvertToHeight; constructor(activatedRoute: ActivatedRoute, formBuilder: FormBuilder, filesService: FilesService, brandingShades: BrandingShadesService, themeSwitcher: ThemeSwitcherService); ngOnDestroy(): void; regenerateShadesBasedOnPrimaryColor(color?: string): void; writeValue(obj: string): void; registerOnChange(fn: (value: string) => void): void; registerOnTouched(fn: () => void): void; onBlur(): void; initForm(): _angular_forms.FormGroup<{ "navigator-platform-logo-height": _angular_forms.FormControl<string | number>; "brand-logo-img-height": _angular_forms.FormControl<number>; "btn-border-radius-base": _angular_forms.FormControl<number>; "brand-logo-img": _angular_forms.FormControl<string>; "navigator-platform-logo": _angular_forms.FormControl<string>; "login-platform-animation-img": _angular_forms.FormControl<string>; "brand-dark": _angular_forms.FormControl<string>; "brand-light": _angular_forms.FormControl<string>; "brand-primary": _angular_forms.FormControl<string>; "c8y-brand-10": _angular_forms.FormControl<string>; "c8y-brand-20": _angular_forms.FormControl<string>; "c8y-brand-30": _angular_forms.FormControl<string>; "c8y-brand-40": _angular_forms.FormControl<string>; "c8y-brand-50": _angular_forms.FormControl<string>; "c8y-brand-60": _angular_forms.FormControl<string>; "c8y-brand-70": _angular_forms.FormControl<string>; "c8y-brand-80": _angular_forms.FormControl<string>; "palette-status-info": _angular_forms.FormControl<string>; "palette-status-warning": _angular_forms.FormControl<string>; "palette-status-success": _angular_forms.FormControl<string>; "palette-status-danger": _angular_forms.FormControl<string>; "palette-status-info-light": _angular_forms.FormControl<string>; "palette-status-warning-light": _angular_forms.FormControl<string>; "palette-status-success-light": _angular_forms.FormControl<string>; "palette-status-danger-light": _angular_forms.FormControl<string>; "palette-status-info-dark": _angular_forms.FormControl<string>; "palette-status-warning-dark": _angular_forms.FormControl<string>; "palette-status-success-dark": _angular_forms.FormControl<string>; "palette-status-danger-dark": _angular_forms.FormControl<string>; "body-background-color": _angular_forms.FormControl<string>; "text-color": _angular_forms.FormControl<string>; "text-muted": _angular_forms.FormControl<string>; "link-color": _angular_forms.FormControl<string>; "link-hover-color": _angular_forms.FormControl<string>; "action-bar-background-default": _angular_forms.FormControl<string>; "action-bar-color-actions-hover": _angular_forms.FormControl<string>; "action-bar-color-actions": _angular_forms.FormControl<string>; "action-bar-color-default": _angular_forms.FormControl<string>; "action-bar-icon-color": _angular_forms.FormControl<string>; "header-color": _angular_forms.FormControl<string>; "header-text-color": _angular_forms.FormControl<string>; "header-hover-color": _angular_forms.FormControl<string>; "navigator-bg-color": _angular_forms.FormControl<string>; "navigator-active-bg": _angular_forms.FormControl<string>; "navigator-border-active": _angular_forms.FormControl<string>; "navigator-header-bg": _angular_forms.FormControl<string>; "navigator-title-color": _angular_forms.FormControl<string>; "navigator-separator-color": _angular_forms.FormControl<string>; "navigator-text-color": _angular_forms.FormControl<string>; "navigator-color-active": _angular_forms.FormControl<string>; "right-drawer-background-default": _angular_forms.FormControl<string>; "right-drawer-text-color-default": _angular_forms.FormControl<string>; "right-drawer-separator-color": _angular_forms.FormControl<string>; "right-drawer-link-color": _angular_forms.FormControl<string>; "right-drawer-link-color-hover": _angular_forms.FormControl<string>; "right-drawer-text-color-muted": _angular_forms.FormControl<string>; }>; applyStateToForm(branding: BrandingOptionsJson): void; convertFormToState(value: BrandingThemeFormComponent['formGroup']['value']): string; private getPrefix; static ɵfac: i0.ɵɵFactoryDeclaration<BrandingThemeFormComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<BrandingThemeFormComponent, "c8y-branding-theme-form", never, {}, {}, never, never, true, never>; } declare class EditBrandingRouterOutletComponent implements OnDestroy { private activatedRoute; private store; private router; private alert; private applyBrandingService; private appState; brandingName$: Observable<string>; formControl: FormControl<string>; fallbackBranding$: Observable<BrandingOptionsJson>; tabName$: Observable<string>; isGlobalBranding$: Observable<boolean>; private newBranding; private currentlyDisplayedComponent; constructor(activatedRoute: ActivatedRoute, store: StoreBrandingService, router: Router, alert: AlertService, applyBrandingService: ApplyBrandingLocallyService, appState: AppStateService); ngOnDestroy(): void; routeActivated(event: ControlValueAccessor & Partial<AsyncValidator>): void; saveBranding(): Promise<void>; cancel(): void; openPreview(): Promise<void>; markAsActive(): Promise<void>; onBrandingVarChanges(value: string): Promise<void>; private cleanUpObjects; static ɵfac: i0.ɵɵFactoryDeclaration<EditBrandingRouterOutletComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<EditBrandingRouterOutletComponent, "c8y-edit-branding-router-outlet", never, {}, {}, never, never, true, never>; } declare class BrandingTagsCellRendererComponent { private appState; hasLatestTag: boolean; appContextPathsOrApps$: Observable<Array<string | IApplication>>; constructor(context: CellRendererContext, appState: AppStateService); private getAppContextPathsOrApps$; static ɵfac: i0.ɵɵFactoryDeclaration<BrandingTagsCellRendererComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<BrandingTagsCellRendererComponent, "c8y-branding-tags-cell-renderer", never, {}, {}, never, never, true, never>; } declare class BrandingImportModalComponent { private addBrandingModalService; private zip; private staticAssets; private brandings; modal: ModalComponent; result: Promise<void>; files: DroppedFile[]; loading: boolean; private _resovle; private _reject; constructor(addBrandingModalService: AddBrandingModalService, zip: ZipService, staticAssets: StaticAssetsService, brandings: StoreBrandingService); droppedFile(event: DroppedFile[]): Promise<void>; import(file: File): Promise<void>; cancel(): void; static ɵfac: i0.ɵɵFactoryDeclaration<BrandingImportModalComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<BrandingImportModalComponent, "c8y-branding-import-modal", never, {}, {}, never, never, true, never>; } declare class BrandingTagsHeaderCellRendererComponent { readonly heading: "Applied to"; readonly popoverContent: "<p class=\"m-b-8\">Branding can be applied at two levels</p>\n <ul class=\"list-unstyled m-b-0\">\n <li class=\"m-b-4\">\n <strong>Global: </strong>\n <span>Applied to the entire platform, affecting all apps and interfaces.</span>\n </li>\n <li>\n <strong>App-specific: </strong>\n <span>Applied only to selected apps within the platform.</span>\n </li>\n </ul>"; static ɵfac: i0.ɵɵFactoryDeclaration<BrandingTagsHeaderCellRendererComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<BrandingTagsHeaderCellRendererComponent, "c8y-branding-tags-header-cell-renderer", never, {}, {}, never, never, true, never>; } declare class BrandingAssetsComponent { private clipboard; private filesService; private translate; filterOptions: ({ label: "All"; value: any[]; } | { label: "Images"; value: string[]; } | { label: "Fonts"; value: string[]; })[]; supportedFileExtensions: any[] | string[]; constructor(clipboard: ClipboardService, filesService: FilesService, translate: TranslateService); onItemSelected(file: StaticAsset): void; static ɵfac: i0.ɵɵFactoryDeclaration<BrandingAssetsComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<BrandingAssetsComponent, "c8y-branding-assets", never, {}, {}, never, never, true, never>; } export { ApplyBrandingToAppService, BrandingAssetsComponent, BrandingComponent, BrandingFormComponent, BrandingImportModalComponent, BrandingImportModalService, BrandingTagsCellRendererComponent, BrandingTagsHeaderCellRendererComponent, BrandingThemeFormComponent, EditBrandingRouterOutletComponent }; //# sourceMappingURL=index.d.ts.map