@ts-core/angular 15.0.2 → 15.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/VIModule.d.ts +53 -0
- package/application/ApplicationComponent.d.ts +1 -3
- package/esm2020/VIModule.mjs +175 -0
- package/esm2020/application/ApplicationComponent.mjs +2 -3
- package/esm2020/application/MessageBaseComponent.mjs +1 -1
- package/esm2020/language/LanguageModule.mjs +1 -8
- package/esm2020/pipe/CamelCasePipe.mjs +4 -12
- package/esm2020/pipe/StartCasePipe.mjs +4 -5
- package/esm2020/pipe/TimePipe.mjs +3 -2
- package/esm2020/pipe/TruncatePipe.mjs +3 -5
- package/esm2020/public-api.mjs +2 -69
- package/esm2020/service/PipeBaseService.mjs +1 -1
- package/esm2020/theme/ThemeAssetDirective.mjs +1 -1
- package/fesm2015/ts-core-angular.mjs +3023 -7419
- package/fesm2015/ts-core-angular.mjs.map +1 -1
- package/fesm2020/ts-core-angular.mjs +3005 -7399
- package/fesm2020/ts-core-angular.mjs.map +1 -1
- package/package.json +3 -9
- package/pipe/CamelCasePipe.d.ts +0 -1
- package/public-api.d.ts +1 -61
- package/style/_core.scss +120 -0
- package/style/_text.scss +9 -1
- package/VICommonModule.d.ts +0 -56
- package/application/ShellBaseComponent.d.ts +0 -20
- package/bottomSheet/BottomSheetImpl.d.ts +0 -66
- package/bottomSheet/BottomSheetModule.d.ts +0 -13
- package/bottomSheet/BottomSheetService.d.ts +0 -31
- package/bottomSheet/component/BottomSheetBaseComponent.d.ts +0 -8
- package/component/VIComponentModule.d.ts +0 -33
- package/component/cdk-table/CdkTableBaseComponent.d.ts +0 -60
- package/component/cdk-table/CdkTableDataSource.d.ts +0 -13
- package/component/cdk-table/CdkTableFilterableMapCollection.d.ts +0 -14
- package/component/cdk-table/CdkTablePaginableBookmarkMapCollection.d.ts +0 -11
- package/component/cdk-table/CdkTablePaginableMapCollection.d.ts +0 -13
- package/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.d.ts +0 -9
- package/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.d.ts +0 -18
- package/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.d.ts +0 -9
- package/component/cdk-table/cell/CdkTableCellClassNamePipe.d.ts +0 -8
- package/component/cdk-table/cell/CdkTableCellStyleNamePipe.d.ts +0 -10
- package/component/cdk-table/cell/CdkTableCellValuePipe.d.ts +0 -17
- package/component/cdk-table/cell/CdkTableCellValuePipePure.d.ts +0 -8
- package/component/cdk-table/column/CdkTableColumnClassNamePipe.d.ts +0 -8
- package/component/cdk-table/column/CdkTableColumnStyleNamePipe.d.ts +0 -10
- package/component/cdk-table/column/ICdkTableColumn.d.ts +0 -25
- package/component/cdk-table/row/CdkTableRowClassNamePipe.d.ts +0 -8
- package/component/cdk-table/row/CdkTableRowStyleNamePipe.d.ts +0 -10
- package/component/cdk-table/row/ICdkTableRow.d.ts +0 -8
- package/component/language/language-selector/language-selector.component.d.ts +0 -19
- package/component/menu-list/menu-list.component.d.ts +0 -9
- package/component/select-list/select-list.component.d.ts +0 -9
- package/component/tab-group/tab-group.component.d.ts +0 -18
- package/directive/MenuTriggerForDirective.d.ts +0 -11
- package/error/WindowClosedError.d.ts +0 -6
- package/esm2020/VICommonModule.mjs +0 -185
- package/esm2020/application/ShellBaseComponent.mjs +0 -78
- package/esm2020/bottomSheet/BottomSheetImpl.mjs +0 -228
- package/esm2020/bottomSheet/BottomSheetModule.mjs +0 -37
- package/esm2020/bottomSheet/BottomSheetService.mjs +0 -107
- package/esm2020/bottomSheet/component/BottomSheetBaseComponent.mjs +0 -44
- package/esm2020/component/VIComponentModule.mjs +0 -117
- package/esm2020/component/cdk-table/CdkTableBaseComponent.mjs +0 -192
- package/esm2020/component/cdk-table/CdkTableDataSource.mjs +0 -58
- package/esm2020/component/cdk-table/CdkTableFilterableMapCollection.mjs +0 -94
- package/esm2020/component/cdk-table/CdkTablePaginableBookmarkMapCollection.mjs +0 -49
- package/esm2020/component/cdk-table/CdkTablePaginableMapCollection.mjs +0 -57
- package/esm2020/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.mjs +0 -37
- package/esm2020/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.mjs +0 -65
- package/esm2020/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.mjs +0 -37
- package/esm2020/component/cdk-table/cell/CdkTableCellClassNamePipe.mjs +0 -25
- package/esm2020/component/cdk-table/cell/CdkTableCellStyleNamePipe.mjs +0 -22
- package/esm2020/component/cdk-table/cell/CdkTableCellValuePipe.mjs +0 -77
- package/esm2020/component/cdk-table/cell/CdkTableCellValuePipePure.mjs +0 -22
- package/esm2020/component/cdk-table/column/CdkTableColumnClassNamePipe.mjs +0 -22
- package/esm2020/component/cdk-table/column/CdkTableColumnStyleNamePipe.mjs +0 -22
- package/esm2020/component/cdk-table/column/ICdkTableColumn.mjs +0 -2
- package/esm2020/component/cdk-table/row/CdkTableRowClassNamePipe.mjs +0 -22
- package/esm2020/component/cdk-table/row/CdkTableRowStyleNamePipe.mjs +0 -22
- package/esm2020/component/cdk-table/row/ICdkTableRow.mjs +0 -2
- package/esm2020/component/language/language-selector/language-selector.component.mjs +0 -79
- package/esm2020/component/menu-list/menu-list.component.mjs +0 -16
- package/esm2020/component/select-list/select-list.component.mjs +0 -16
- package/esm2020/component/tab-group/tab-group.component.mjs +0 -82
- package/esm2020/directive/MenuTriggerForDirective.mjs +0 -55
- package/esm2020/error/WindowClosedError.mjs +0 -19
- package/esm2020/language/LanguageMatPaginatorIntl.mjs +0 -60
- package/esm2020/language/LanguageMomentDateAdapter.mjs +0 -13
- package/esm2020/notification/INotification.mjs +0 -7
- package/esm2020/notification/INotificationContent.mjs +0 -132
- package/esm2020/notification/NotificationConfig.mjs +0 -16
- package/esm2020/notification/NotificationFactory.mjs +0 -19
- package/esm2020/notification/NotificationImpl.mjs +0 -139
- package/esm2020/notification/NotificationModule.mjs +0 -53
- package/esm2020/notification/NotificationProperties.mjs +0 -2
- package/esm2020/notification/NotificationService.mjs +0 -239
- package/esm2020/notification/component/NotificationBaseComponent.mjs +0 -4
- package/esm2020/notification/component/NotificationQuestionBaseComponent.mjs +0 -50
- package/esm2020/notification/component/notification/notification.component.mjs +0 -61
- package/esm2020/service/BootstrapBreakpointService.mjs +0 -116
- package/esm2020/window/IWindow.mjs +0 -33
- package/esm2020/window/IWindowContent.mjs +0 -132
- package/esm2020/window/WindowBase.mjs +0 -168
- package/esm2020/window/WindowConfig.mjs +0 -232
- package/esm2020/window/WindowFactory.mjs +0 -27
- package/esm2020/window/WindowImpl.mjs +0 -354
- package/esm2020/window/WindowModule.mjs +0 -58
- package/esm2020/window/WindowProperties.mjs +0 -2
- package/esm2020/window/WindowService.mjs +0 -366
- package/esm2020/window/WindowServiceEvent.mjs +0 -9
- package/esm2020/window/component/WindowBaseComponent.mjs +0 -75
- package/esm2020/window/component/WindowDragAreaDirective.mjs +0 -97
- package/esm2020/window/component/WindowDragable.mjs +0 -69
- package/esm2020/window/component/WindowElement.mjs +0 -95
- package/esm2020/window/component/WindowQuestionBaseComponent.mjs +0 -17
- package/esm2020/window/component/WindowResizeable.mjs +0 -88
- package/esm2020/window/component/window-close-element/window-close-element.component.mjs +0 -55
- package/esm2020/window/component/window-expand-element/window-expand-element.component.mjs +0 -56
- package/esm2020/window/component/window-minimize-element/window-minimize-element.component.mjs +0 -75
- package/esm2020/window/component/window-question/window-question.component.mjs +0 -50
- package/esm2020/window/component/window-resize-element/window-resize-element.component.mjs +0 -56
- package/language/LanguageMatPaginatorIntl.d.ts +0 -20
- package/language/LanguageMomentDateAdapter.d.ts +0 -5
- package/notification/INotification.d.ts +0 -26
- package/notification/INotificationContent.d.ts +0 -31
- package/notification/NotificationConfig.d.ts +0 -13
- package/notification/NotificationFactory.d.ts +0 -11
- package/notification/NotificationImpl.d.ts +0 -38
- package/notification/NotificationModule.d.ts +0 -18
- package/notification/NotificationProperties.d.ts +0 -9
- package/notification/NotificationService.d.ts +0 -56
- package/notification/component/NotificationBaseComponent.d.ts +0 -3
- package/notification/component/NotificationQuestionBaseComponent.d.ts +0 -10
- package/notification/component/notification/notification.component.d.ts +0 -14
- package/service/BootstrapBreakpointService.d.ts +0 -45
- package/style/mat/_core.scss +0 -317
- package/style/mat/_index.scss +0 -169
- package/style/mat/_variables.scss +0 -1
- package/style/mat/bootstrap/_background.scss +0 -28
- package/style/mat/bootstrap/_border.scss +0 -202
- package/style/mat/bootstrap/_index.scss +0 -27
- package/style/mat/bootstrap/_text.scss +0 -47
- package/style/mat/helper/_theme.scss +0 -96
- package/style/mat/helper/_typography.scss +0 -15
- package/window/IWindow.d.ts +0 -42
- package/window/IWindowContent.d.ts +0 -34
- package/window/WindowBase.d.ts +0 -33
- package/window/WindowConfig.d.ts +0 -64
- package/window/WindowFactory.d.ts +0 -12
- package/window/WindowImpl.d.ts +0 -88
- package/window/WindowModule.d.ts +0 -20
- package/window/WindowProperties.d.ts +0 -9
- package/window/WindowService.d.ts +0 -71
- package/window/WindowServiceEvent.d.ts +0 -7
- package/window/component/WindowBaseComponent.d.ts +0 -20
- package/window/component/WindowDragAreaDirective.d.ts +0 -19
- package/window/component/WindowDragable.d.ts +0 -13
- package/window/component/WindowElement.d.ts +0 -22
- package/window/component/WindowQuestionBaseComponent.d.ts +0 -5
- package/window/component/WindowResizeable.d.ts +0 -10
- package/window/component/window-close-element/window-close-element.component.d.ts +0 -12
- package/window/component/window-expand-element/window-expand-element.component.d.ts +0 -12
- package/window/component/window-minimize-element/window-minimize-element.component.d.ts +0 -15
- package/window/component/window-question/window-question.component.d.ts +0 -12
- package/window/component/window-resize-element/window-resize-element.component.d.ts +0 -12
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { CdkTableBaseComponent } from '../CdkTableBaseComponent';
|
|
2
|
-
import { CdkTableFilterableMapCollection } from '../CdkTableFilterableMapCollection';
|
|
3
|
-
import { ViewContainerRef } from '@angular/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class CdkTableFilterableComponent<U = any, V = any> extends CdkTableBaseComponent<CdkTableFilterableMapCollection<U, V>, U, V> {
|
|
6
|
-
constructor(container: ViewContainerRef);
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableFilterableComponent<any, any>, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CdkTableFilterableComponent<any, any>, "vi-cdk-table-filterable", never, {}, {}, never, ["*"], false, never>;
|
|
9
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { CdkTableBaseComponent } from '../CdkTableBaseComponent';
|
|
2
|
-
import { CdkTablePaginableMapCollection } from '../CdkTablePaginableMapCollection';
|
|
3
|
-
import { ViewContainerRef } from '@angular/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class CdkTablePaginableComponent<U = any, V = any> extends CdkTableBaseComponent<CdkTablePaginableMapCollection<U, V>, U, V> {
|
|
6
|
-
protected _paginator: ICdkTablePaginatorSettings;
|
|
7
|
-
constructor(container: ViewContainerRef);
|
|
8
|
-
protected commitPaginatorProperties(): void;
|
|
9
|
-
get paginator(): ICdkTablePaginatorSettings;
|
|
10
|
-
set paginator(value: ICdkTablePaginatorSettings);
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTablePaginableComponent<any, any>, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CdkTablePaginableComponent<any, any>, "vi-cdk-table-paginable", never, { "paginator": "paginator"; }, {}, never, ["*"], false, never>;
|
|
13
|
-
}
|
|
14
|
-
export interface ICdkTablePaginatorSettings {
|
|
15
|
-
pageSizes?: Array<number>;
|
|
16
|
-
hidePageSize?: boolean;
|
|
17
|
-
showFirstLastButtons?: boolean;
|
|
18
|
-
}
|
package/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { CdkTableBaseComponent } from '../CdkTableBaseComponent';
|
|
2
|
-
import { ViewContainerRef } from '@angular/core';
|
|
3
|
-
import { CdkTablePaginableBookmarkMapCollection } from '../CdkTablePaginableBookmarkMapCollection';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class CdkTablePaginableBookmarkComponent<U = any, V = any> extends CdkTableBaseComponent<CdkTablePaginableBookmarkMapCollection<U, V>, U, V> {
|
|
6
|
-
constructor(container: ViewContainerRef);
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTablePaginableBookmarkComponent<any, any>, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CdkTablePaginableBookmarkComponent<any, any>, "vi-cdk-table-paginable-bookmark", never, {}, {}, never, never, false, never>;
|
|
9
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { ICdkTableColumn } from '../column/ICdkTableColumn';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class CdkTableCellClassNamePipe implements PipeTransform {
|
|
5
|
-
transform<U>(item: U, column: ICdkTableColumn<U>): string;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableCellClassNamePipe, never>;
|
|
7
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<CdkTableCellClassNamePipe, "viCdkTableCellClassName", false>;
|
|
8
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { ICdkTableColumn } from '../column/ICdkTableColumn';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class CdkTableCellStyleNamePipe implements PipeTransform {
|
|
5
|
-
transform<U>(item: U, column: ICdkTableColumn<U>): {
|
|
6
|
-
[key: string]: any;
|
|
7
|
-
};
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableCellStyleNamePipe, never>;
|
|
9
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<CdkTableCellStyleNamePipe, "viCdkTableCellStyleName", false>;
|
|
10
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, PipeTransform } from '@angular/core';
|
|
2
|
-
import { DestroyableContainer } from '@ts-core/common';
|
|
3
|
-
import { CdkTableCellValue, ICdkTableColumn } from '../column/ICdkTableColumn';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class CdkTableCellValuePipe<U> extends DestroyableContainer implements PipeTransform {
|
|
6
|
-
private detection;
|
|
7
|
-
static ERROR_SYMBOL: string;
|
|
8
|
-
static PENDING_SYMBOL: string;
|
|
9
|
-
private lastItem;
|
|
10
|
-
private lastColumn;
|
|
11
|
-
private lastValue;
|
|
12
|
-
constructor(detection: ChangeDetectorRef);
|
|
13
|
-
transform(item: U, column: ICdkTableColumn<U>): CdkTableCellValue<U> | Promise<CdkTableCellValue<U>>;
|
|
14
|
-
destroy(): void;
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableCellValuePipe<any>, never>;
|
|
16
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<CdkTableCellValuePipe<any>, "viCdkTableCellValue", false>;
|
|
17
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { CdkTableCellValue, ICdkTableColumn } from '../column/ICdkTableColumn';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class CdkTableCellValuePipePure implements PipeTransform {
|
|
5
|
-
transform<U>(item: U, column: ICdkTableColumn<U>): CdkTableCellValue<U>;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableCellValuePipePure, never>;
|
|
7
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<CdkTableCellValuePipePure, "viCdkTableCellValuePure", false>;
|
|
8
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { ICdkTableColumn } from './ICdkTableColumn';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class CdkTableColumnClassNamePipe implements PipeTransform {
|
|
5
|
-
transform<U>(item: U, column: ICdkTableColumn<U>): string;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableColumnClassNamePipe, never>;
|
|
7
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<CdkTableColumnClassNamePipe, "viCdkTableColumnClassName", false>;
|
|
8
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { ICdkTableColumn } from './ICdkTableColumn';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class CdkTableColumnStyleNamePipe implements PipeTransform {
|
|
5
|
-
transform<U>(item: U, column: ICdkTableColumn<U>): {
|
|
6
|
-
[key: string]: any;
|
|
7
|
-
};
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableColumnStyleNamePipe, never>;
|
|
9
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<CdkTableColumnStyleNamePipe, "viCdkTableColumnStyleName", false>;
|
|
10
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export interface ICdkTableColumn<U = any> {
|
|
2
|
-
name: string;
|
|
3
|
-
className?: ICdkTableColumnClassNameFunction<U> | string;
|
|
4
|
-
styleName?: ICdkTableColumnStyleNameFunction<U>;
|
|
5
|
-
format?: ICdkTableCellValueFunction<U>;
|
|
6
|
-
cellStyleName?: ICdkTableColumnStyleNameFunction<U>;
|
|
7
|
-
cellClassName?: ICdkTableCellClassNameFunction<U> | string;
|
|
8
|
-
headerId?: string;
|
|
9
|
-
headerClassName?: string;
|
|
10
|
-
headerStyleName?: string;
|
|
11
|
-
isImage?: boolean;
|
|
12
|
-
isAsync?: boolean;
|
|
13
|
-
isMultiline?: boolean;
|
|
14
|
-
isDisableSort?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export declare type CdkTableCellValue<U = any> = string | number | U[keyof U];
|
|
17
|
-
export declare type ICdkTableCellValueFunction<U> = (item: U, column: ICdkTableColumn<U>) => CdkTableCellValue<U> | Promise<CdkTableCellValue<U>>;
|
|
18
|
-
export declare type ICdkTableCellClassNameFunction<U> = (item: U, column: ICdkTableColumn<U>) => string;
|
|
19
|
-
export declare type ICdkTableCellStyleNameFunction<U> = (item: U, column: ICdkTableColumn<U>) => {
|
|
20
|
-
[key: string]: any;
|
|
21
|
-
};
|
|
22
|
-
export declare type ICdkTableColumnClassNameFunction<U> = (item: U, column: ICdkTableColumn<U>) => string;
|
|
23
|
-
export declare type ICdkTableColumnStyleNameFunction<U> = (item: U, column: ICdkTableColumn<U>) => {
|
|
24
|
-
[key: string]: any;
|
|
25
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { ICdkTableRow } from './ICdkTableRow';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class CdkTableRowClassNamePipe implements PipeTransform {
|
|
5
|
-
transform<U>(item: U, row: ICdkTableRow<U>, selectedRows: Array<U>): string;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableRowClassNamePipe, never>;
|
|
7
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<CdkTableRowClassNamePipe, "viCdkTableRowClassName", false>;
|
|
8
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { ICdkTableRow } from './ICdkTableRow';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class CdkTableRowStyleNamePipe implements PipeTransform {
|
|
5
|
-
transform<U>(item: U, row: ICdkTableRow<U>, selectedRows: Array<U>, isInteractive?: boolean): {
|
|
6
|
-
[key: string]: any;
|
|
7
|
-
};
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableRowStyleNamePipe, never>;
|
|
9
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<CdkTableRowStyleNamePipe, "viCdkTableRowStyleName", false>;
|
|
10
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export interface ICdkTableRow<U = any> {
|
|
2
|
-
className?: ICdkTableRowClassNameFunction<U> | string;
|
|
3
|
-
styleName?: ICdkTableRowStyleNameFunction<U>;
|
|
4
|
-
}
|
|
5
|
-
export declare type ICdkTableRowClassNameFunction<U> = (item: U, selectedItems: Array<U>) => string;
|
|
6
|
-
export declare type ICdkTableRowStyleNameFunction<U> = (item: U, selectedItems: Array<U>) => {
|
|
7
|
-
[key: string]: string;
|
|
8
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { DestroyableContainer } from '@ts-core/common';
|
|
3
|
-
import { LanguageService } from '@ts-core/frontend';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class LanguageSelectorComponent extends DestroyableContainer {
|
|
6
|
-
protected element: ElementRef;
|
|
7
|
-
language: LanguageService;
|
|
8
|
-
private _isNeedIcon;
|
|
9
|
-
private _isNeedLabel;
|
|
10
|
-
constructor(element: ElementRef, language: LanguageService);
|
|
11
|
-
protected commitIsNeedLabelProperties(): void;
|
|
12
|
-
protected commitIsNeedIconProperties(): void;
|
|
13
|
-
get isNeedIcon(): boolean;
|
|
14
|
-
set isNeedIcon(value: boolean);
|
|
15
|
-
get isNeedLabel(): boolean;
|
|
16
|
-
set isNeedLabel(value: boolean);
|
|
17
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LanguageSelectorComponent, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LanguageSelectorComponent, "vi-language-selector", never, { "isNeedIcon": "isNeedIcon"; "isNeedLabel": "isNeedLabel"; }, {}, never, never, false, never>;
|
|
19
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { DestroyableContainer } from '@ts-core/common';
|
|
2
|
-
import { ListItems } from '../../list/ListItems';
|
|
3
|
-
import { IListItem } from '../../list/IListItem';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class MenuListComponent<T = any> extends DestroyableContainer {
|
|
6
|
-
list: ListItems<IListItem<T>>;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MenuListComponent<any>, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MenuListComponent<any>, "vi-menu-list", never, { "list": "list"; }, {}, never, never, false, never>;
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { DestroyableContainer } from '@ts-core/common';
|
|
2
|
-
import { ISelectListItem } from '../../list/select/ISelectListItem';
|
|
3
|
-
import { SelectListItems } from '../../list/select/SelectListItems';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class SelectListComponent<T = any> extends DestroyableContainer {
|
|
6
|
-
list: SelectListItems<ISelectListItem<T>>;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SelectListComponent<any>, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectListComponent<any>, "vi-select-list", never, { "list": "list"; }, {}, never, never, false, never>;
|
|
9
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { MatTabChangeEvent } from '@angular/material/tabs';
|
|
2
|
-
import { DestroyableContainer } from '@ts-core/common';
|
|
3
|
-
import { ISelectListItem } from '../../list/select/ISelectListItem';
|
|
4
|
-
import { SelectListItems } from '../../list/select/SelectListItems';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class TabGroupComponent<T = any> extends DestroyableContainer {
|
|
7
|
-
className: string;
|
|
8
|
-
isStretch: boolean;
|
|
9
|
-
protected _list: SelectListItems<ISelectListItem<T>>;
|
|
10
|
-
protected commitListProperties(): void;
|
|
11
|
-
selectedIndexChanged(event: number): void;
|
|
12
|
-
selectedTabChanged(event: MatTabChangeEvent): void;
|
|
13
|
-
destroy(): void;
|
|
14
|
-
get list(): SelectListItems<ISelectListItem<T>>;
|
|
15
|
-
set list(value: SelectListItems<ISelectListItem<T>>);
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TabGroupComponent<any>, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TabGroupComponent<any>, "vi-tab-group", never, { "className": "className"; "isStretch": "isStretch"; "list": "list"; }, {}, never, never, false, never>;
|
|
18
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';
|
|
2
|
-
import { PositionStrategy } from '@angular/cdk/overlay';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class MenuTriggerForDirective extends MatMenuTrigger {
|
|
5
|
-
openMenuOn(target: any): void;
|
|
6
|
-
protected getPositionStrategy(): PositionStrategy;
|
|
7
|
-
set menu(value: MatMenuPanel);
|
|
8
|
-
get menu(): MatMenuPanel;
|
|
9
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MenuTriggerForDirective, never>;
|
|
10
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MenuTriggerForDirective, "[vi-menu-trigger-for]", never, { "menu": "vi-menu-trigger-for"; }, {}, never, never, false, never>;
|
|
11
|
-
}
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { APP_INITIALIZER, InjectionToken, NgModule, RendererFactory2 } from '@angular/core';
|
|
2
|
-
import { Logger, LoggerLevel } from '@ts-core/common';
|
|
3
|
-
import { ICookieOptions } from '@ts-core/frontend';
|
|
4
|
-
import { DefaultLogger } from '@ts-core/frontend';
|
|
5
|
-
import { LoadingService, NativeWindowService } from '@ts-core/frontend';
|
|
6
|
-
import * as _ from 'lodash';
|
|
7
|
-
import { AssetModule } from './asset/AssetModule';
|
|
8
|
-
import { CookieModule } from './cookie/CookieModule';
|
|
9
|
-
import { CanDeactivateGuard } from './service/route/CanDeactivateGuard';
|
|
10
|
-
import { AspectRatioResizeDirective } from './directive/AspectRatioResizeDirective';
|
|
11
|
-
import { AutoScrollBottomDirective } from './directive/AutoScrollBottomDirective';
|
|
12
|
-
import { ClickToCopyDirective } from './directive/ClickToCopyDirective';
|
|
13
|
-
import { ClickToSelectDirective } from './directive/ClickToSelectDirective';
|
|
14
|
-
import { FocusDirective } from './directive/FocusDirective';
|
|
15
|
-
import { SelectOnFocusDirective } from './directive/SelectOnFocusDirective';
|
|
16
|
-
import { HTMLTitleDirective } from './directive/HTMLTitleDirective';
|
|
17
|
-
import { HTMLContentTitleDirective } from './directive/HTMLContentTitleDirective';
|
|
18
|
-
import { InfiniteScrollDirective } from './directive/InfiniteScrollDirective';
|
|
19
|
-
import { ResizeDirective } from './directive/ResizeDirective';
|
|
20
|
-
import { ScrollCheckDirective } from './directive/ScrollCheckDirective';
|
|
21
|
-
import { ScrollDirective } from './directive/ScrollDirective';
|
|
22
|
-
import { LanguageModule } from './language/LanguageModule';
|
|
23
|
-
import { BottomSheetModule } from './bottomSheet/BottomSheetModule';
|
|
24
|
-
import { NotificationModule } from './notification/NotificationModule';
|
|
25
|
-
import { CamelCasePipe } from './pipe/CamelCasePipe';
|
|
26
|
-
import { FinancePipe } from './pipe/FinancePipe';
|
|
27
|
-
import { MomentDateAdaptivePipe } from './pipe/MomentDateAdaptivePipe';
|
|
28
|
-
import { MomentDateFromNowPipe } from './pipe/MomentDateFromNowPipe';
|
|
29
|
-
import { MomentDatePipe } from './pipe/MomentDatePipe';
|
|
30
|
-
import { MomentTimePipe } from './pipe/MomentTimePipe';
|
|
31
|
-
import { NgModelErrorPipe } from './pipe/NgModelErrorPipe';
|
|
32
|
-
import { SanitizePipe } from './pipe/SanitizePipe';
|
|
33
|
-
import { StartCasePipe } from './pipe/StartCasePipe';
|
|
34
|
-
import { TimePipe } from './pipe/TimePipe';
|
|
35
|
-
import { TruncatePipe } from './pipe/TruncatePipe';
|
|
36
|
-
import { PrettifyPipe } from './pipe/PrettifyPipe';
|
|
37
|
-
import { ThemeModule } from './theme/ThemeModule';
|
|
38
|
-
import { WindowModule } from './window/WindowModule';
|
|
39
|
-
import { IsServerDirective } from './directive/IsServerDirective';
|
|
40
|
-
import { IsBrowserDirective } from './directive/IsBrowserDirective';
|
|
41
|
-
import { MenuTriggerForDirective } from './directive/MenuTriggerForDirective';
|
|
42
|
-
import { DOCUMENT } from '@angular/common';
|
|
43
|
-
import { PlatformService } from './service/PlatformService';
|
|
44
|
-
import { ViewUtil } from './util/ViewUtil';
|
|
45
|
-
import * as i0 from "@angular/core";
|
|
46
|
-
const IMPORTS = [CookieModule, ThemeModule, LanguageModule, AssetModule, WindowModule, NotificationModule];
|
|
47
|
-
const DECLARATIONS = [
|
|
48
|
-
TimePipe,
|
|
49
|
-
FinancePipe,
|
|
50
|
-
SanitizePipe,
|
|
51
|
-
TruncatePipe,
|
|
52
|
-
PrettifyPipe,
|
|
53
|
-
CamelCasePipe,
|
|
54
|
-
StartCasePipe,
|
|
55
|
-
NgModelErrorPipe,
|
|
56
|
-
IsServerDirective,
|
|
57
|
-
IsBrowserDirective,
|
|
58
|
-
MomentDatePipe,
|
|
59
|
-
MomentTimePipe,
|
|
60
|
-
MomentDateFromNowPipe,
|
|
61
|
-
MomentDateAdaptivePipe,
|
|
62
|
-
FocusDirective,
|
|
63
|
-
ResizeDirective,
|
|
64
|
-
ScrollDirective,
|
|
65
|
-
ScrollCheckDirective,
|
|
66
|
-
ClickToCopyDirective,
|
|
67
|
-
SelectOnFocusDirective,
|
|
68
|
-
ClickToSelectDirective,
|
|
69
|
-
MenuTriggerForDirective,
|
|
70
|
-
InfiniteScrollDirective,
|
|
71
|
-
HTMLTitleDirective,
|
|
72
|
-
HTMLContentTitleDirective,
|
|
73
|
-
AutoScrollBottomDirective,
|
|
74
|
-
AspectRatioResizeDirective
|
|
75
|
-
];
|
|
76
|
-
export class VICommonModule {
|
|
77
|
-
// --------------------------------------------------------------------------
|
|
78
|
-
//
|
|
79
|
-
// Static Methods
|
|
80
|
-
//
|
|
81
|
-
// --------------------------------------------------------------------------
|
|
82
|
-
static forRoot(options) {
|
|
83
|
-
return {
|
|
84
|
-
ngModule: VICommonModule,
|
|
85
|
-
providers: [
|
|
86
|
-
{
|
|
87
|
-
provide: APP_INITIALIZER,
|
|
88
|
-
deps: [NativeWindowService, RendererFactory2],
|
|
89
|
-
useFactory: initializerFactory,
|
|
90
|
-
multi: true
|
|
91
|
-
},
|
|
92
|
-
LoadingService,
|
|
93
|
-
PlatformService,
|
|
94
|
-
CanDeactivateGuard,
|
|
95
|
-
{ provide: VI_ANGULAR_OPTIONS, useValue: options || {} },
|
|
96
|
-
{ provide: Logger, deps: [VI_ANGULAR_OPTIONS], useFactory: loggerServiceFactory },
|
|
97
|
-
{ provide: NativeWindowService, deps: [DOCUMENT], useFactory: nativeWindowServiceFactory },
|
|
98
|
-
...WindowModule.forRoot().providers,
|
|
99
|
-
...BottomSheetModule.forRoot().providers,
|
|
100
|
-
...NotificationModule.forRoot().providers,
|
|
101
|
-
...CookieModule.forRoot(options).providers,
|
|
102
|
-
...ThemeModule.forRoot(options ? options.themeOptions : null).providers,
|
|
103
|
-
...LanguageModule.forRoot(options ? options.languageOptions : null).providers
|
|
104
|
-
]
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
VICommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VICommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
109
|
-
VICommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: VICommonModule, declarations: [TimePipe,
|
|
110
|
-
FinancePipe,
|
|
111
|
-
SanitizePipe,
|
|
112
|
-
TruncatePipe,
|
|
113
|
-
PrettifyPipe,
|
|
114
|
-
CamelCasePipe,
|
|
115
|
-
StartCasePipe,
|
|
116
|
-
NgModelErrorPipe,
|
|
117
|
-
IsServerDirective,
|
|
118
|
-
IsBrowserDirective,
|
|
119
|
-
MomentDatePipe,
|
|
120
|
-
MomentTimePipe,
|
|
121
|
-
MomentDateFromNowPipe,
|
|
122
|
-
MomentDateAdaptivePipe,
|
|
123
|
-
FocusDirective,
|
|
124
|
-
ResizeDirective,
|
|
125
|
-
ScrollDirective,
|
|
126
|
-
ScrollCheckDirective,
|
|
127
|
-
ClickToCopyDirective,
|
|
128
|
-
SelectOnFocusDirective,
|
|
129
|
-
ClickToSelectDirective,
|
|
130
|
-
MenuTriggerForDirective,
|
|
131
|
-
InfiniteScrollDirective,
|
|
132
|
-
HTMLTitleDirective,
|
|
133
|
-
HTMLContentTitleDirective,
|
|
134
|
-
AutoScrollBottomDirective,
|
|
135
|
-
AspectRatioResizeDirective], imports: [CookieModule, ThemeModule, LanguageModule, AssetModule, WindowModule, NotificationModule], exports: [CookieModule, ThemeModule, LanguageModule, AssetModule, WindowModule, NotificationModule, TimePipe,
|
|
136
|
-
FinancePipe,
|
|
137
|
-
SanitizePipe,
|
|
138
|
-
TruncatePipe,
|
|
139
|
-
PrettifyPipe,
|
|
140
|
-
CamelCasePipe,
|
|
141
|
-
StartCasePipe,
|
|
142
|
-
NgModelErrorPipe,
|
|
143
|
-
IsServerDirective,
|
|
144
|
-
IsBrowserDirective,
|
|
145
|
-
MomentDatePipe,
|
|
146
|
-
MomentTimePipe,
|
|
147
|
-
MomentDateFromNowPipe,
|
|
148
|
-
MomentDateAdaptivePipe,
|
|
149
|
-
FocusDirective,
|
|
150
|
-
ResizeDirective,
|
|
151
|
-
ScrollDirective,
|
|
152
|
-
ScrollCheckDirective,
|
|
153
|
-
ClickToCopyDirective,
|
|
154
|
-
SelectOnFocusDirective,
|
|
155
|
-
ClickToSelectDirective,
|
|
156
|
-
MenuTriggerForDirective,
|
|
157
|
-
InfiniteScrollDirective,
|
|
158
|
-
HTMLTitleDirective,
|
|
159
|
-
HTMLContentTitleDirective,
|
|
160
|
-
AutoScrollBottomDirective,
|
|
161
|
-
AspectRatioResizeDirective] });
|
|
162
|
-
VICommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VICommonModule, imports: [IMPORTS, CookieModule, ThemeModule, LanguageModule, AssetModule, WindowModule, NotificationModule] });
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VICommonModule, decorators: [{
|
|
164
|
-
type: NgModule,
|
|
165
|
-
args: [{
|
|
166
|
-
imports: IMPORTS,
|
|
167
|
-
declarations: DECLARATIONS,
|
|
168
|
-
exports: [...IMPORTS, ...DECLARATIONS]
|
|
169
|
-
}]
|
|
170
|
-
}] });
|
|
171
|
-
export class IVICommonOptions extends ICookieOptions {
|
|
172
|
-
}
|
|
173
|
-
export function initializerFactory(nativeWindow, rendererFactory2) {
|
|
174
|
-
ViewUtil.renderer = rendererFactory2.createRenderer(null, null);
|
|
175
|
-
ViewUtil.document = nativeWindow.document;
|
|
176
|
-
return () => Promise.resolve();
|
|
177
|
-
}
|
|
178
|
-
export function loggerServiceFactory(options) {
|
|
179
|
-
return new DefaultLogger(!_.isNil(options.loggerLevel) ? options.loggerLevel : LoggerLevel.LOG);
|
|
180
|
-
}
|
|
181
|
-
export function nativeWindowServiceFactory(document) {
|
|
182
|
-
return new NativeWindowService(document);
|
|
183
|
-
}
|
|
184
|
-
export const VI_ANGULAR_OPTIONS = new InjectionToken(`VI_ANGULAR_OPTIONS`);
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVklDb21tb25Nb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVklDb21tb25Nb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQXVCLFFBQVEsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQVcsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXhFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFN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OztBQXNDRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsY0FBYztDQUluRDtBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxZQUFpQyxFQUFFLGdCQUFrQztJQUNwRyxRQUFRLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEUsUUFBUSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQzFDLE9BQU8sR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBeUI7SUFDMUQsT0FBTyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEcsQ0FBQztBQUNELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxRQUFrQjtJQUN6RCxPQUFPLElBQUksbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFtQixvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3Rpb25Ub2tlbiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUxvZ2dlciwgTG9nZ2VyLCBMb2dnZXJMZXZlbCB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBJQ29va2llT3B0aW9ucyB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IElMYW5ndWFnZVNlcnZpY2VPcHRpb25zIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQnO1xuaW1wb3J0IHsgRGVmYXVsdExvZ2dlciB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IExvYWRpbmdTZXJ2aWNlLCBOYXRpdmVXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQnO1xuaW1wb3J0IHsgSVRoZW1lU2VydmljZU9wdGlvbnMgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBc3NldE1vZHVsZSB9IGZyb20gJy4vYXNzZXQvQXNzZXRNb2R1bGUnO1xuaW1wb3J0IHsgQ29va2llTW9kdWxlIH0gZnJvbSAnLi9jb29raWUvQ29va2llTW9kdWxlJztcbmltcG9ydCB7IENhbkRlYWN0aXZhdGVHdWFyZCB9IGZyb20gJy4vc2VydmljZS9yb3V0ZS9DYW5EZWFjdGl2YXRlR3VhcmQnO1xuaW1wb3J0IHsgQXNwZWN0UmF0aW9SZXNpemVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9Bc3BlY3RSYXRpb1Jlc2l6ZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdXRvU2Nyb2xsQm90dG9tRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvQXV0b1Njcm9sbEJvdHRvbURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbGlja1RvQ29weURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL0NsaWNrVG9Db3B5RGlyZWN0aXZlJztcbmltcG9ydCB7IENsaWNrVG9TZWxlY3REaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9DbGlja1RvU2VsZWN0RGlyZWN0aXZlJztcbmltcG9ydCB7IEZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvRm9jdXNEaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0T25Gb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL1NlbGVjdE9uRm9jdXNEaXJlY3RpdmUnO1xuaW1wb3J0IHsgSFRNTFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvSFRNTFRpdGxlRGlyZWN0aXZlJztcbmltcG9ydCB7IEhUTUxDb250ZW50VGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9IVE1MQ29udGVudFRpdGxlRGlyZWN0aXZlJztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmVzaXplRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvUmVzaXplRGlyZWN0aXZlJztcbmltcG9ydCB7IFNjcm9sbENoZWNrRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvU2Nyb2xsQ2hlY2tEaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvU2Nyb2xsRGlyZWN0aXZlJztcbmltcG9ydCB7IExhbmd1YWdlTW9kdWxlIH0gZnJvbSAnLi9sYW5ndWFnZS9MYW5ndWFnZU1vZHVsZSc7XG5pbXBvcnQgeyBCb3R0b21TaGVldE1vZHVsZSB9IGZyb20gJy4vYm90dG9tU2hlZXQvQm90dG9tU2hlZXRNb2R1bGUnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uTW9kdWxlIH0gZnJvbSAnLi9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uTW9kdWxlJztcbmltcG9ydCB7IENhbWVsQ2FzZVBpcGUgfSBmcm9tICcuL3BpcGUvQ2FtZWxDYXNlUGlwZSc7XG5pbXBvcnQgeyBGaW5hbmNlUGlwZSB9IGZyb20gJy4vcGlwZS9GaW5hbmNlUGlwZSc7XG5pbXBvcnQgeyBNb21lbnREYXRlQWRhcHRpdmVQaXBlIH0gZnJvbSAnLi9waXBlL01vbWVudERhdGVBZGFwdGl2ZVBpcGUnO1xuaW1wb3J0IHsgTW9tZW50RGF0ZUZyb21Ob3dQaXBlIH0gZnJvbSAnLi9waXBlL01vbWVudERhdGVGcm9tTm93UGlwZSc7XG5pbXBvcnQgeyBNb21lbnREYXRlUGlwZSB9IGZyb20gJy4vcGlwZS9Nb21lbnREYXRlUGlwZSc7XG5pbXBvcnQgeyBNb21lbnRUaW1lUGlwZSB9IGZyb20gJy4vcGlwZS9Nb21lbnRUaW1lUGlwZSc7XG5pbXBvcnQgeyBOZ01vZGVsRXJyb3JQaXBlIH0gZnJvbSAnLi9waXBlL05nTW9kZWxFcnJvclBpcGUnO1xuaW1wb3J0IHsgU2FuaXRpemVQaXBlIH0gZnJvbSAnLi9waXBlL1Nhbml0aXplUGlwZSc7XG5pbXBvcnQgeyBTdGFydENhc2VQaXBlIH0gZnJvbSAnLi9waXBlL1N0YXJ0Q2FzZVBpcGUnO1xuaW1wb3J0IHsgVGltZVBpcGUgfSBmcm9tICcuL3BpcGUvVGltZVBpcGUnO1xuaW1wb3J0IHsgVHJ1bmNhdGVQaXBlIH0gZnJvbSAnLi9waXBlL1RydW5jYXRlUGlwZSc7XG5pbXBvcnQgeyBQcmV0dGlmeVBpcGUgfSBmcm9tICcuL3BpcGUvUHJldHRpZnlQaXBlJztcbmltcG9ydCB7IFRoZW1lTW9kdWxlIH0gZnJvbSAnLi90aGVtZS9UaGVtZU1vZHVsZSc7XG5pbXBvcnQgeyBXaW5kb3dNb2R1bGUgfSBmcm9tICcuL3dpbmRvdy9XaW5kb3dNb2R1bGUnO1xuaW1wb3J0IHsgSXNTZXJ2ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9Jc1NlcnZlckRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJc0Jyb3dzZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9Jc0Jyb3dzZXJEaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWVudVRyaWdnZXJGb3JEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9NZW51VHJpZ2dlckZvckRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvUGxhdGZvcm1TZXJ2aWNlJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi91dGlsL1ZpZXdVdGlsJztcblxuY29uc3QgSU1QT1JUUyA9IFtDb29raWVNb2R1bGUsIFRoZW1lTW9kdWxlLCBMYW5ndWFnZU1vZHVsZSwgQXNzZXRNb2R1bGUsIFdpbmRvd01vZHVsZSwgTm90aWZpY2F0aW9uTW9kdWxlXTtcblxuY29uc3QgREVDTEFSQVRJT05TID0gW1xuICAgIFRpbWVQaXBlLFxuICAgIEZpbmFuY2VQaXBlLFxuICAgIFNhbml0aXplUGlwZSxcbiAgICBUcnVuY2F0ZVBpcGUsXG4gICAgUHJldHRpZnlQaXBlLFxuICAgIENhbWVsQ2FzZVBpcGUsXG4gICAgU3RhcnRDYXNlUGlwZSxcbiAgICBOZ01vZGVsRXJyb3JQaXBlLFxuXG4gICAgSXNTZXJ2ZXJEaXJlY3RpdmUsXG4gICAgSXNCcm93c2VyRGlyZWN0aXZlLFxuXG4gICAgTW9tZW50RGF0ZVBpcGUsXG4gICAgTW9tZW50VGltZVBpcGUsXG4gICAgTW9tZW50RGF0ZUZyb21Ob3dQaXBlLFxuICAgIE1vbWVudERhdGVBZGFwdGl2ZVBpcGUsXG5cbiAgICBGb2N1c0RpcmVjdGl2ZSxcbiAgICBSZXNpemVEaXJlY3RpdmUsXG4gICAgU2Nyb2xsRGlyZWN0aXZlLFxuICAgIFNjcm9sbENoZWNrRGlyZWN0aXZlLFxuICAgIENsaWNrVG9Db3B5RGlyZWN0aXZlLFxuICAgIFNlbGVjdE9uRm9jdXNEaXJlY3RpdmUsXG4gICAgQ2xpY2tUb1NlbGVjdERpcmVjdGl2ZSxcbiAgICBNZW51VHJpZ2dlckZvckRpcmVjdGl2ZSxcbiAgICBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSxcbiAgICBIVE1MVGl0bGVEaXJlY3RpdmUsXG4gICAgSFRNTENvbnRlbnRUaXRsZURpcmVjdGl2ZSxcbiAgICBBdXRvU2Nyb2xsQm90dG9tRGlyZWN0aXZlLFxuICAgIEFzcGVjdFJhdGlvUmVzaXplRGlyZWN0aXZlXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IElNUE9SVFMsXG4gICAgZGVjbGFyYXRpb25zOiBERUNMQVJBVElPTlMsXG4gICAgZXhwb3J0czogWy4uLklNUE9SVFMsIC4uLkRFQ0xBUkFUSU9OU11cbn0pXG5leHBvcnQgY2xhc3MgVklDb21tb25Nb2R1bGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFN0YXRpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KG9wdGlvbnM/OiBJVklDb21tb25PcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxWSUNvbW1vbk1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFZJQ29tbW9uTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtOYXRpdmVXaW5kb3dTZXJ2aWNlLCBSZW5kZXJlckZhY3RvcnkyXSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogaW5pdGlhbGl6ZXJGYWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgICBMb2FkaW5nU2VydmljZSxcbiAgICAgICAgICAgICAgICBQbGF0Zm9ybVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQ2FuRGVhY3RpdmF0ZUd1YXJkLFxuXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBWSV9BTkdVTEFSX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIHx8IHt9IH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dnZXIsIGRlcHM6IFtWSV9BTkdVTEFSX09QVElPTlNdLCB1c2VGYWN0b3J5OiBsb2dnZXJTZXJ2aWNlRmFjdG9yeSB9LFxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTmF0aXZlV2luZG93U2VydmljZSwgZGVwczogW0RPQ1VNRU5UXSwgdXNlRmFjdG9yeTogbmF0aXZlV2luZG93U2VydmljZUZhY3RvcnkgfSxcblxuICAgICAgICAgICAgICAgIC4uLldpbmRvd01vZHVsZS5mb3JSb290KCkucHJvdmlkZXJzLFxuICAgICAgICAgICAgICAgIC4uLkJvdHRvbVNoZWV0TW9kdWxlLmZvclJvb3QoKS5wcm92aWRlcnMsXG4gICAgICAgICAgICAgICAgLi4uTm90aWZpY2F0aW9uTW9kdWxlLmZvclJvb3QoKS5wcm92aWRlcnMsXG4gICAgICAgICAgICAgICAgLi4uQ29va2llTW9kdWxlLmZvclJvb3Qob3B0aW9ucykucHJvdmlkZXJzLFxuICAgICAgICAgICAgICAgIC4uLlRoZW1lTW9kdWxlLmZvclJvb3Qob3B0aW9ucyA/IG9wdGlvbnMudGhlbWVPcHRpb25zIDogbnVsbCkucHJvdmlkZXJzLFxuICAgICAgICAgICAgICAgIC4uLkxhbmd1YWdlTW9kdWxlLmZvclJvb3Qob3B0aW9ucyA/IG9wdGlvbnMubGFuZ3VhZ2VPcHRpb25zIDogbnVsbCkucHJvdmlkZXJzXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgSVZJQ29tbW9uT3B0aW9ucyBleHRlbmRzIElDb29raWVPcHRpb25zIHtcbiAgICBsb2dnZXJMZXZlbD86IExvZ2dlckxldmVsO1xuICAgIHRoZW1lT3B0aW9ucz86IElUaGVtZVNlcnZpY2VPcHRpb25zO1xuICAgIGxhbmd1YWdlT3B0aW9ucz86IElMYW5ndWFnZVNlcnZpY2VPcHRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGl6ZXJGYWN0b3J5KG5hdGl2ZVdpbmRvdzogTmF0aXZlV2luZG93U2VydmljZSwgcmVuZGVyZXJGYWN0b3J5MjogUmVuZGVyZXJGYWN0b3J5Mik6IFZpZXdVdGlsIHtcbiAgICBWaWV3VXRpbC5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeTIuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gICAgVmlld1V0aWwuZG9jdW1lbnQgPSBuYXRpdmVXaW5kb3cuZG9jdW1lbnQ7XG4gICAgcmV0dXJuICgpID0+IFByb21pc2UucmVzb2x2ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9nZ2VyU2VydmljZUZhY3Rvcnkob3B0aW9uczogSVZJQ29tbW9uT3B0aW9ucyk6IElMb2dnZXIge1xuICAgIHJldHVybiBuZXcgRGVmYXVsdExvZ2dlcighXy5pc05pbChvcHRpb25zLmxvZ2dlckxldmVsKSA/IG9wdGlvbnMubG9nZ2VyTGV2ZWwgOiBMb2dnZXJMZXZlbC5MT0cpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG5hdGl2ZVdpbmRvd1NlcnZpY2VGYWN0b3J5KGRvY3VtZW50OiBEb2N1bWVudCk6IE5hdGl2ZVdpbmRvd1NlcnZpY2Uge1xuICAgIHJldHVybiBuZXcgTmF0aXZlV2luZG93U2VydmljZShkb2N1bWVudCk7XG59XG5cbmV4cG9ydCBjb25zdCBWSV9BTkdVTEFSX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVZJQ29tbW9uT3B0aW9ucz4oYFZJX0FOR1VMQVJfT1BUSU9OU2ApO1xuIl19
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { DestroyableContainer } from '@ts-core/common';
|
|
2
|
-
import * as _ from 'lodash';
|
|
3
|
-
import { filter, takeUntil } from 'rxjs';
|
|
4
|
-
import { NotificationServiceEvent } from '../notification/NotificationService';
|
|
5
|
-
export class ShellBaseComponent extends DestroyableContainer {
|
|
6
|
-
// --------------------------------------------------------------------------
|
|
7
|
-
//
|
|
8
|
-
// Constructor
|
|
9
|
-
//
|
|
10
|
-
// --------------------------------------------------------------------------
|
|
11
|
-
constructor(notifications, breakpointObserver) {
|
|
12
|
-
super();
|
|
13
|
-
this.notifications = notifications;
|
|
14
|
-
this.breakpointObserver = breakpointObserver;
|
|
15
|
-
// --------------------------------------------------------------------------
|
|
16
|
-
//
|
|
17
|
-
// Properties
|
|
18
|
-
//
|
|
19
|
-
// --------------------------------------------------------------------------
|
|
20
|
-
this.isNeedSide = false;
|
|
21
|
-
this.isHasNotifications = false;
|
|
22
|
-
this.isShowMenu = true;
|
|
23
|
-
this.isShowNotifications = false;
|
|
24
|
-
}
|
|
25
|
-
// --------------------------------------------------------------------------
|
|
26
|
-
//
|
|
27
|
-
// Protected Methods
|
|
28
|
-
//
|
|
29
|
-
// --------------------------------------------------------------------------
|
|
30
|
-
initialize() {
|
|
31
|
-
// Notifications
|
|
32
|
-
this.isHasNotificationsCheck();
|
|
33
|
-
this.notifications.events
|
|
34
|
-
.pipe(filter(data => data.type === NotificationServiceEvent.CLOSED || data.type === NotificationServiceEvent.REMOVED), takeUntil(this.destroyed))
|
|
35
|
-
.subscribe(() => this.isHasNotificationsCheck());
|
|
36
|
-
// Menu Size
|
|
37
|
-
this.isNeedSideCheck();
|
|
38
|
-
this.breakpointObserver
|
|
39
|
-
.observe(this.sideMediaQueryToCheck)
|
|
40
|
-
.pipe(takeUntil(this.destroyed))
|
|
41
|
-
.subscribe(() => this.isNeedSideCheck());
|
|
42
|
-
}
|
|
43
|
-
isHasNotificationsCheck() {
|
|
44
|
-
this.isHasNotifications = !_.isEmpty(this.notificationItems);
|
|
45
|
-
if (!this.isHasNotifications) {
|
|
46
|
-
this.isShowNotifications = false;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
isNeedSideCheck() {
|
|
50
|
-
this.isNeedSide = this.breakpointObserver.isMatched(this.sideMediaQueryToCheck);
|
|
51
|
-
this.isShowMenu = this.isNeedSide;
|
|
52
|
-
}
|
|
53
|
-
// --------------------------------------------------------------------------
|
|
54
|
-
//
|
|
55
|
-
// Public Methods
|
|
56
|
-
//
|
|
57
|
-
// --------------------------------------------------------------------------
|
|
58
|
-
toggleMenu() {
|
|
59
|
-
if (!this.isNeedSide) {
|
|
60
|
-
this.isShowMenu = !this.isShowMenu;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
toggleNotifications() {
|
|
64
|
-
this.isShowNotifications = !this.isShowNotifications;
|
|
65
|
-
}
|
|
66
|
-
// --------------------------------------------------------------------------
|
|
67
|
-
//
|
|
68
|
-
// Public Properties
|
|
69
|
-
//
|
|
70
|
-
// --------------------------------------------------------------------------
|
|
71
|
-
get sideMediaQueryToCheck() {
|
|
72
|
-
return `(min-width: 1000px)`;
|
|
73
|
-
}
|
|
74
|
-
get notificationItems() {
|
|
75
|
-
return this.notifications.closedConfigs;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hlbGxCYXNlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL1NoZWxsQmFzZUNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV6QyxPQUFPLEVBQXVCLHdCQUF3QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFcEcsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG9CQUFvQjtJQWF4RCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQW1CLGFBQWtDLEVBQVMsa0JBQXNDO1FBQ2hHLEtBQUssRUFBRSxDQUFDO1FBRE8sa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQVMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQWxCcEcsNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixjQUFjO1FBQ2QsRUFBRTtRQUNGLDZFQUE2RTtRQUV0RSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUVwQyxlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLHdCQUFtQixHQUFZLEtBQUssQ0FBQztJQVU1QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxVQUFVO1FBQ2hCLGdCQUFnQjtRQUNoQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU07YUFDcEIsSUFBSSxDQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssd0JBQXdCLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssd0JBQXdCLENBQUMsT0FBTyxDQUFDLEVBQy9HLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzVCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUM7UUFFckQsWUFBWTtRQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsa0JBQWtCO2FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7YUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFUyx1QkFBdUI7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzFCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRVMsZUFBZTtRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3RDLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLFVBQVU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFTSxtQkFBbUI7UUFDdEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3pELENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLElBQWMscUJBQXFCO1FBQy9CLE9BQU8scUJBQXFCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQ29uZmlnIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkNvbmZpZyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlLCBOb3RpZmljYXRpb25TZXJ2aWNlRXZlbnQgfSBmcm9tICcuLi9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uU2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBTaGVsbEJhc2VDb21wb25lbnQgZXh0ZW5kcyBEZXN0cm95YWJsZUNvbnRhaW5lciB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBpc05lZWRTaWRlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzSGFzTm90aWZpY2F0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGlzU2hvd01lbnU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHB1YmxpYyBpc1Nob3dOb3RpZmljYXRpb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25TZXJ2aWNlLCBwdWJsaWMgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICAvLyBOb3RpZmljYXRpb25zXG4gICAgICAgIHRoaXMuaXNIYXNOb3RpZmljYXRpb25zQ2hlY2soKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zLmV2ZW50c1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGRhdGEgPT4gZGF0YS50eXBlID09PSBOb3RpZmljYXRpb25TZXJ2aWNlRXZlbnQuQ0xPU0VEIHx8IGRhdGEudHlwZSA9PT0gTm90aWZpY2F0aW9uU2VydmljZUV2ZW50LlJFTU9WRUQpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5pc0hhc05vdGlmaWNhdGlvbnNDaGVjaygpKTtcblxuICAgICAgICAvLyBNZW51IFNpemVcbiAgICAgICAgdGhpcy5pc05lZWRTaWRlQ2hlY2soKTtcbiAgICAgICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcbiAgICAgICAgICAgIC5vYnNlcnZlKHRoaXMuc2lkZU1lZGlhUXVlcnlUb0NoZWNrKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5pc05lZWRTaWRlQ2hlY2soKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzSGFzTm90aWZpY2F0aW9uc0NoZWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSGFzTm90aWZpY2F0aW9ucyA9ICFfLmlzRW1wdHkodGhpcy5ub3RpZmljYXRpb25JdGVtcyk7XG4gICAgICAgIGlmICghdGhpcy5pc0hhc05vdGlmaWNhdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTaG93Tm90aWZpY2F0aW9ucyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzTmVlZFNpZGVDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc05lZWRTaWRlID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKHRoaXMuc2lkZU1lZGlhUXVlcnlUb0NoZWNrKTtcbiAgICAgICAgdGhpcy5pc1Nob3dNZW51ID0gdGhpcy5pc05lZWRTaWRlO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHRvZ2dsZU1lbnUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc05lZWRTaWRlKSB7XG4gICAgICAgICAgICB0aGlzLmlzU2hvd01lbnUgPSAhdGhpcy5pc1Nob3dNZW51O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZU5vdGlmaWNhdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTaG93Tm90aWZpY2F0aW9ucyA9ICF0aGlzLmlzU2hvd05vdGlmaWNhdGlvbnM7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNpZGVNZWRpYVF1ZXJ5VG9DaGVjaygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYChtaW4td2lkdGg6IDEwMDBweClgO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbm90aWZpY2F0aW9uSXRlbXMoKTogQXJyYXk8Tm90aWZpY2F0aW9uQ29uZmlnPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbnMuY2xvc2VkQ29uZmlncztcbiAgICB9XG59XG4iXX0=
|