@ts-core/angular 15.0.1 → 15.0.3

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.
Files changed (173) hide show
  1. package/VICommonModule.d.ts +10 -13
  2. package/application/ApplicationComponent.d.ts +1 -3
  3. package/directive/ResizeDirective.d.ts +2 -2
  4. package/directive/SelectOnFocusDirective.d.ts +1 -1
  5. package/esm2020/VICommonModule.mjs +4 -14
  6. package/esm2020/application/ApplicationComponent.mjs +2 -3
  7. package/esm2020/application/MessageBaseComponent.mjs +1 -1
  8. package/esm2020/directive/AutoScrollBottomDirective.mjs +2 -2
  9. package/esm2020/directive/ResizeDirective.mjs +5 -5
  10. package/esm2020/directive/SelectOnFocusDirective.mjs +2 -2
  11. package/esm2020/language/LanguageModule.mjs +1 -8
  12. package/esm2020/manager/ResizeManager.mjs +3 -11
  13. package/esm2020/pipe/CamelCasePipe.mjs +4 -12
  14. package/esm2020/pipe/StartCasePipe.mjs +4 -5
  15. package/esm2020/pipe/TimePipe.mjs +3 -2
  16. package/esm2020/pipe/TruncatePipe.mjs +3 -5
  17. package/esm2020/public-api.mjs +1 -68
  18. package/esm2020/service/PipeBaseService.mjs +1 -1
  19. package/esm2020/theme/ThemeAssetDirective.mjs +1 -1
  20. package/esm2020/theme/ThemeStyleDirective.mjs +2 -2
  21. package/esm2020/util/ViewUtil.mjs +1 -1
  22. package/fesm2015/ts-core-angular.mjs +3091 -7551
  23. package/fesm2015/ts-core-angular.mjs.map +1 -1
  24. package/fesm2020/ts-core-angular.mjs +3057 -7515
  25. package/fesm2020/ts-core-angular.mjs.map +1 -1
  26. package/htdocs/common.js +3 -3
  27. package/manager/ResizeManager.d.ts +1 -1
  28. package/package.json +3 -10
  29. package/pipe/CamelCasePipe.d.ts +0 -1
  30. package/public-api.d.ts +0 -60
  31. package/style/_core.scss +120 -0
  32. package/style/_filter.scss +14 -0
  33. package/style/_mouse.scss +27 -0
  34. package/style/_scroll.scss +20 -0
  35. package/style/_text.scss +20 -0
  36. package/application/ShellBaseComponent.d.ts +0 -20
  37. package/bottomSheet/BottomSheetImpl.d.ts +0 -77
  38. package/bottomSheet/BottomSheetModule.d.ts +0 -13
  39. package/bottomSheet/BottomSheetService.d.ts +0 -31
  40. package/bottomSheet/component/BottomSheetBaseComponent.d.ts +0 -13
  41. package/component/VIComponentModule.d.ts +0 -33
  42. package/component/cdk-table/CdkTableBaseComponent.d.ts +0 -60
  43. package/component/cdk-table/CdkTableDataSource.d.ts +0 -13
  44. package/component/cdk-table/CdkTableFilterableMapCollection.d.ts +0 -14
  45. package/component/cdk-table/CdkTablePaginableBookmarkMapCollection.d.ts +0 -11
  46. package/component/cdk-table/CdkTablePaginableMapCollection.d.ts +0 -13
  47. package/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.d.ts +0 -9
  48. package/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.d.ts +0 -18
  49. package/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.d.ts +0 -9
  50. package/component/cdk-table/cell/CdkTableCellClassNamePipe.d.ts +0 -8
  51. package/component/cdk-table/cell/CdkTableCellStyleNamePipe.d.ts +0 -10
  52. package/component/cdk-table/cell/CdkTableCellValuePipe.d.ts +0 -17
  53. package/component/cdk-table/cell/CdkTableCellValuePipePure.d.ts +0 -8
  54. package/component/cdk-table/column/CdkTableColumnClassNamePipe.d.ts +0 -8
  55. package/component/cdk-table/column/CdkTableColumnStyleNamePipe.d.ts +0 -10
  56. package/component/cdk-table/column/ICdkTableColumn.d.ts +0 -25
  57. package/component/cdk-table/row/CdkTableRowClassNamePipe.d.ts +0 -8
  58. package/component/cdk-table/row/CdkTableRowStyleNamePipe.d.ts +0 -10
  59. package/component/cdk-table/row/ICdkTableRow.d.ts +0 -8
  60. package/component/language/language-selector/language-selector.component.d.ts +0 -19
  61. package/component/menu-list/menu-list.component.d.ts +0 -9
  62. package/component/select-list/select-list.component.d.ts +0 -9
  63. package/component/tab-group/tab-group.component.d.ts +0 -16
  64. package/directive/MenuTriggerForDirective.d.ts +0 -11
  65. package/error/WindowClosedError.d.ts +0 -6
  66. package/esm2020/application/ShellBaseComponent.mjs +0 -78
  67. package/esm2020/bottomSheet/BottomSheetImpl.mjs +0 -273
  68. package/esm2020/bottomSheet/BottomSheetModule.mjs +0 -37
  69. package/esm2020/bottomSheet/BottomSheetService.mjs +0 -107
  70. package/esm2020/bottomSheet/component/BottomSheetBaseComponent.mjs +0 -59
  71. package/esm2020/component/VIComponentModule.mjs +0 -117
  72. package/esm2020/component/cdk-table/CdkTableBaseComponent.mjs +0 -192
  73. package/esm2020/component/cdk-table/CdkTableDataSource.mjs +0 -58
  74. package/esm2020/component/cdk-table/CdkTableFilterableMapCollection.mjs +0 -94
  75. package/esm2020/component/cdk-table/CdkTablePaginableBookmarkMapCollection.mjs +0 -49
  76. package/esm2020/component/cdk-table/CdkTablePaginableMapCollection.mjs +0 -57
  77. package/esm2020/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.mjs +0 -37
  78. package/esm2020/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.mjs +0 -65
  79. package/esm2020/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.mjs +0 -37
  80. package/esm2020/component/cdk-table/cell/CdkTableCellClassNamePipe.mjs +0 -25
  81. package/esm2020/component/cdk-table/cell/CdkTableCellStyleNamePipe.mjs +0 -22
  82. package/esm2020/component/cdk-table/cell/CdkTableCellValuePipe.mjs +0 -77
  83. package/esm2020/component/cdk-table/cell/CdkTableCellValuePipePure.mjs +0 -22
  84. package/esm2020/component/cdk-table/column/CdkTableColumnClassNamePipe.mjs +0 -22
  85. package/esm2020/component/cdk-table/column/CdkTableColumnStyleNamePipe.mjs +0 -22
  86. package/esm2020/component/cdk-table/column/ICdkTableColumn.mjs +0 -2
  87. package/esm2020/component/cdk-table/row/CdkTableRowClassNamePipe.mjs +0 -22
  88. package/esm2020/component/cdk-table/row/CdkTableRowStyleNamePipe.mjs +0 -22
  89. package/esm2020/component/cdk-table/row/ICdkTableRow.mjs +0 -2
  90. package/esm2020/component/language/language-selector/language-selector.component.mjs +0 -79
  91. package/esm2020/component/menu-list/menu-list.component.mjs +0 -16
  92. package/esm2020/component/select-list/select-list.component.mjs +0 -16
  93. package/esm2020/component/tab-group/tab-group.component.mjs +0 -71
  94. package/esm2020/directive/MenuTriggerForDirective.mjs +0 -53
  95. package/esm2020/error/WindowClosedError.mjs +0 -19
  96. package/esm2020/language/LanguageMatPaginatorIntl.mjs +0 -62
  97. package/esm2020/language/LanguageMomentDateAdapter.mjs +0 -13
  98. package/esm2020/notification/INotification.mjs +0 -7
  99. package/esm2020/notification/INotificationContent.mjs +0 -132
  100. package/esm2020/notification/NotificationConfig.mjs +0 -16
  101. package/esm2020/notification/NotificationFactory.mjs +0 -19
  102. package/esm2020/notification/NotificationImpl.mjs +0 -139
  103. package/esm2020/notification/NotificationModule.mjs +0 -53
  104. package/esm2020/notification/NotificationProperties.mjs +0 -2
  105. package/esm2020/notification/NotificationService.mjs +0 -239
  106. package/esm2020/notification/component/NotificationBaseComponent.mjs +0 -4
  107. package/esm2020/notification/component/NotificationQuestionBaseComponent.mjs +0 -50
  108. package/esm2020/notification/component/notification/notification.component.mjs +0 -61
  109. package/esm2020/service/BootstrapBreakpointService.mjs +0 -116
  110. package/esm2020/window/IWindow.mjs +0 -32
  111. package/esm2020/window/IWindowContent.mjs +0 -132
  112. package/esm2020/window/WindowBase.mjs +0 -168
  113. package/esm2020/window/WindowConfig.mjs +0 -232
  114. package/esm2020/window/WindowFactory.mjs +0 -27
  115. package/esm2020/window/WindowImpl.mjs +0 -361
  116. package/esm2020/window/WindowModule.mjs +0 -58
  117. package/esm2020/window/WindowProperties.mjs +0 -2
  118. package/esm2020/window/WindowService.mjs +0 -366
  119. package/esm2020/window/WindowServiceEvent.mjs +0 -9
  120. package/esm2020/window/component/WindowBaseComponent.mjs +0 -75
  121. package/esm2020/window/component/WindowDragAreaDirective.mjs +0 -97
  122. package/esm2020/window/component/WindowDragable.mjs +0 -69
  123. package/esm2020/window/component/WindowElement.mjs +0 -95
  124. package/esm2020/window/component/WindowQuestionBaseComponent.mjs +0 -17
  125. package/esm2020/window/component/WindowResizeable.mjs +0 -88
  126. package/esm2020/window/component/window-close-element/window-close-element.component.mjs +0 -55
  127. package/esm2020/window/component/window-expand-element/window-expand-element.component.mjs +0 -56
  128. package/esm2020/window/component/window-minimize-element/window-minimize-element.component.mjs +0 -75
  129. package/esm2020/window/component/window-question/window-question.component.mjs +0 -50
  130. package/esm2020/window/component/window-resize-element/window-resize-element.component.mjs +0 -56
  131. package/language/LanguageMatPaginatorIntl.d.ts +0 -20
  132. package/language/LanguageMomentDateAdapter.d.ts +0 -5
  133. package/notification/INotification.d.ts +0 -26
  134. package/notification/INotificationContent.d.ts +0 -31
  135. package/notification/NotificationConfig.d.ts +0 -13
  136. package/notification/NotificationFactory.d.ts +0 -11
  137. package/notification/NotificationImpl.d.ts +0 -38
  138. package/notification/NotificationModule.d.ts +0 -18
  139. package/notification/NotificationProperties.d.ts +0 -9
  140. package/notification/NotificationService.d.ts +0 -56
  141. package/notification/component/NotificationBaseComponent.d.ts +0 -3
  142. package/notification/component/NotificationQuestionBaseComponent.d.ts +0 -10
  143. package/notification/component/notification/notification.component.d.ts +0 -14
  144. package/service/BootstrapBreakpointService.d.ts +0 -45
  145. package/style/mat/bootstrap/_background.scss +0 -10
  146. package/style/mat/bootstrap/_border.scss +0 -207
  147. package/style/mat/bootstrap/_text.scss +0 -43
  148. package/style/mat/bootstrap/_variables.scss +0 -8
  149. package/style/mat/vi-mat-bootstrap.scss +0 -50
  150. package/style/mat/vi-mat.scss +0 -570
  151. package/style/mixin.scss +0 -69
  152. package/style/mouse.scss +0 -47
  153. package/window/IWindow.d.ts +0 -41
  154. package/window/IWindowContent.d.ts +0 -34
  155. package/window/WindowBase.d.ts +0 -33
  156. package/window/WindowConfig.d.ts +0 -64
  157. package/window/WindowFactory.d.ts +0 -12
  158. package/window/WindowImpl.d.ts +0 -89
  159. package/window/WindowModule.d.ts +0 -20
  160. package/window/WindowProperties.d.ts +0 -9
  161. package/window/WindowService.d.ts +0 -71
  162. package/window/WindowServiceEvent.d.ts +0 -7
  163. package/window/component/WindowBaseComponent.d.ts +0 -20
  164. package/window/component/WindowDragAreaDirective.d.ts +0 -19
  165. package/window/component/WindowDragable.d.ts +0 -13
  166. package/window/component/WindowElement.d.ts +0 -22
  167. package/window/component/WindowQuestionBaseComponent.d.ts +0 -5
  168. package/window/component/WindowResizeable.d.ts +0 -10
  169. package/window/component/window-close-element/window-close-element.component.d.ts +0 -12
  170. package/window/component/window-expand-element/window-expand-element.component.d.ts +0 -12
  171. package/window/component/window-minimize-element/window-minimize-element.component.d.ts +0 -15
  172. package/window/component/window-question/window-question.component.d.ts +0 -12
  173. package/window/component/window-resize-element/window-resize-element.component.d.ts +0 -12
@@ -1,16 +0,0 @@
1
- import { WindowConfig } from '../window/WindowConfig';
2
- export class NotificationConfig extends WindowConfig {
3
- // --------------------------------------------------------------------------
4
- //
5
- // Constructor
6
- //
7
- // --------------------------------------------------------------------------
8
- constructor(data) {
9
- super();
10
- this.closeDuration = NaN;
11
- this.isRemoveAfterClose = false;
12
- this.data = data;
13
- this.isModal = false;
14
- }
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25Db25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXRELE1BQU0sT0FBTyxrQkFBNEIsU0FBUSxZQUFlO0lBZTVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxJQUFRO1FBQ2hCLEtBQUssRUFBRSxDQUFDO1FBVkwsa0JBQWEsR0FBVyxHQUFHLENBQUM7UUFDNUIsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBVXZDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdpbmRvd0NvbmZpZyB9IGZyb20gJy4uL3dpbmRvdy9XaW5kb3dDb25maWcnO1xuXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uQ29uZmlnPFQgPSBhbnk+IGV4dGVuZHMgV2luZG93Q29uZmlnPFQ+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGljb246IHN0cmluZztcbiAgICBwdWJsaWMgc291bmQ6IHN0cmluZztcbiAgICBwdWJsaWMgaWNvbklkOiBzdHJpbmc7XG4gICAgcHVibGljIHBpY3R1cmU6IHN0cmluZztcblxuICAgIHB1YmxpYyBjbG9zZUR1cmF0aW9uOiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIGlzUmVtb3ZlQWZ0ZXJDbG9zZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogVCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLmlzTW9kYWwgPSBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvbkNvbmZpZ09wdGlvbnM8VCA9IGFueT4gPSB7IFtQIGluIGtleW9mIE5vdGlmaWNhdGlvbkNvbmZpZzxUPl0/OiBhbnkgfTtcbiJdfQ==
@@ -1,19 +0,0 @@
1
- export class NotificationFactory {
2
- // --------------------------------------------------------------------------
3
- //
4
- // Constructor
5
- //
6
- // --------------------------------------------------------------------------
7
- constructor(classType) {
8
- this.classType = classType;
9
- }
10
- // --------------------------------------------------------------------------
11
- //
12
- // Public Methods
13
- //
14
- // --------------------------------------------------------------------------
15
- create(properties) {
16
- return new this.classType(properties);
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBc0IsU0FBMEQ7UUFBMUQsY0FBUyxHQUFULFNBQVMsQ0FBaUQ7SUFBRyxDQUFDO0lBRXBGLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsTUFBTSxDQUFDLFVBQWtDO1FBQzVDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElOb3RpZmljYXRpb24gfSBmcm9tICcuL0lOb3RpZmljYXRpb24nO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uUHJvcGVydGllcyB9IGZyb20gJy4vTm90aWZpY2F0aW9uUHJvcGVydGllcyc7XG5cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25GYWN0b3J5PFUgZXh0ZW5kcyBJTm90aWZpY2F0aW9uPiB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2xhc3NUeXBlOiB7IG5ldyAocHJvcGVydGllczogTm90aWZpY2F0aW9uUHJvcGVydGllcyk6IFUgfSkge31cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGNyZWF0ZShwcm9wZXJ0aWVzOiBOb3RpZmljYXRpb25Qcm9wZXJ0aWVzKTogVSB7XG4gICAgICAgIHJldHVybiBuZXcgdGhpcy5jbGFzc1R5cGUocHJvcGVydGllcyk7XG4gICAgfVxufVxuIl19
@@ -1,139 +0,0 @@
1
- import { Subject, filter, takeUntil } from 'rxjs';
2
- import { ViewUtil } from '../util/ViewUtil';
3
- import { WindowEvent } from '../window/IWindow';
4
- import { WindowBase } from '../window/WindowBase';
5
- import { NotificationEvent } from './INotification';
6
- import * as _ from 'lodash';
7
- export class NotificationImpl extends WindowBase {
8
- // --------------------------------------------------------------------------
9
- //
10
- // Constructor
11
- //
12
- // --------------------------------------------------------------------------
13
- constructor(properties) {
14
- super();
15
- this.setClosed = () => {
16
- this.emit(WindowEvent.CLOSED);
17
- this.destroy();
18
- };
19
- this.setOpened = () => {
20
- this.emit(WindowEvent.OPENED);
21
- };
22
- this.observer = new Subject();
23
- this.properties = properties;
24
- this.content.notification = this;
25
- // Have to save for unsubscribe on destroy
26
- this._container = this.properties.overlay.overlayElement;
27
- this.setProperties();
28
- this.getReference().afterOpened().pipe(takeUntil(this.destroyed)).subscribe(this.setOpened);
29
- this.getReference().afterClosed().pipe(takeUntil(this.destroyed)).subscribe(this.setClosed);
30
- this.observer
31
- .pipe(filter(event => event === WindowEvent.CONTENT_READY), takeUntil(this.destroyed))
32
- .subscribe(this.updatePosition);
33
- }
34
- // --------------------------------------------------------------------------
35
- //
36
- // Protected Methods
37
- //
38
- // --------------------------------------------------------------------------
39
- setProperties() {
40
- super.setProperties();
41
- ViewUtil.addClass(this.container, 'vi-notification');
42
- }
43
- getConfig() {
44
- return this.properties.config;
45
- }
46
- getContainer() {
47
- return this.container;
48
- }
49
- getReference() {
50
- return this.properties.reference;
51
- }
52
- // --------------------------------------------------------------------------
53
- //
54
- // Public Methods
55
- //
56
- // --------------------------------------------------------------------------
57
- emit(event) {
58
- this.observer.next(event);
59
- }
60
- close() {
61
- this.getReference().close();
62
- }
63
- remove() {
64
- this.close();
65
- this.observer.next(NotificationEvent.REMOVED);
66
- }
67
- destroy() {
68
- if (this.isDestroyed) {
69
- return;
70
- }
71
- super.destroy();
72
- if (!_.isNil(this.observer)) {
73
- this.observer.complete();
74
- this.observer = null;
75
- }
76
- this.properties = null;
77
- this._container = null;
78
- }
79
- // --------------------------------------------------------------------------
80
- //
81
- // Size Methods
82
- //
83
- // --------------------------------------------------------------------------
84
- getWidth() {
85
- return this.calculateWidth();
86
- }
87
- getHeight() {
88
- return this.calculateHeight();
89
- }
90
- setWidth(value) {
91
- this.width = value;
92
- }
93
- setHeight(value) {
94
- this.height = value;
95
- }
96
- setSize(width, height) {
97
- this.setWidth(width);
98
- this.setHeight(height);
99
- }
100
- // --------------------------------------------------------------------------
101
- //
102
- // Move Methods
103
- //
104
- // --------------------------------------------------------------------------
105
- getX() {
106
- return this.x;
107
- }
108
- setX(value) {
109
- this.x = value;
110
- }
111
- getY() {
112
- return this.y;
113
- }
114
- setY(value) {
115
- this.y = value;
116
- }
117
- move(x, y) {
118
- this.setX(x);
119
- this.setY(y);
120
- }
121
- // --------------------------------------------------------------------------
122
- //
123
- // Public Properties
124
- //
125
- // --------------------------------------------------------------------------
126
- get events() {
127
- return this.observer.asObservable();
128
- }
129
- get config() {
130
- return this.properties.config;
131
- }
132
- get content() {
133
- return this.properties.reference ? this.properties.reference.componentInstance : null;
134
- }
135
- get container() {
136
- return this._container;
137
- }
138
- }
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uSW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uSW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSW5FLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyxnQkFBMEIsU0FBUSxVQUFVO0lBY3JELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxVQUFrQztRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQWdDRixjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUM7UUFFUSxjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQztRQXRDRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBRWpDLDBDQUEwQztRQUMx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QUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5pbXBvcnQgeyBXaW5kb3dFdmVudCB9IGZyb20gJy4uL3dpbmRvdy9JV2luZG93JztcbmltcG9ydCB7IFdpbmRvd0Jhc2UgfSBmcm9tICcuLi93aW5kb3cvV2luZG93QmFzZSc7XG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25FdmVudCB9IGZyb20gJy4vSU5vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uQ29udGVudCB9IGZyb20gJy4vSU5vdGlmaWNhdGlvbkNvbnRlbnQnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQ29uZmlnIH0gZnJvbSAnLi9Ob3RpZmljYXRpb25Db25maWcnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uUHJvcGVydGllcyB9IGZyb20gJy4vTm90aWZpY2F0aW9uUHJvcGVydGllcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25JbXBsPFQgPSBhbnk+IGV4dGVuZHMgV2luZG93QmFzZSBpbXBsZW1lbnRzIElOb3RpZmljYXRpb24ge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgX2NvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcm90ZWN0ZWQgcHJvcGVydGllczogTm90aWZpY2F0aW9uUHJvcGVydGllcztcblxuICAgIHByb3RlY3RlZCB0aW1lcjogYW55O1xuICAgIHByb3RlY3RlZCBvYnNlcnZlcjogU3ViamVjdDxzdHJpbmc+O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByb3BlcnRpZXM6IE5vdGlmaWNhdGlvblByb3BlcnRpZXMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gcHJvcGVydGllcztcbiAgICAgICAgdGhpcy5jb250ZW50Lm5vdGlmaWNhdGlvbiA9IHRoaXM7XG5cbiAgICAgICAgLy8gSGF2ZSB0byBzYXZlIGZvciB1bnN1YnNjcmliZSBvbiBkZXN0cm95XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lciA9IHRoaXMucHJvcGVydGllcy5vdmVybGF5Lm92ZXJsYXlFbGVtZW50O1xuXG4gICAgICAgIHRoaXMuc2V0UHJvcGVydGllcygpO1xuICAgICAgICB0aGlzLmdldFJlZmVyZW5jZSgpLmFmdGVyT3BlbmVkKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUodGhpcy5zZXRPcGVuZWQpO1xuICAgICAgICB0aGlzLmdldFJlZmVyZW5jZSgpLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUodGhpcy5zZXRDbG9zZWQpO1xuXG4gICAgICAgIHRoaXMub2JzZXJ2ZXJcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCA9PT0gV2luZG93RXZlbnQuQ09OVEVOVF9SRUFEWSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLnVwZGF0ZVBvc2l0aW9uKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIHNldFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldFByb3BlcnRpZXMoKTtcbiAgICAgICAgVmlld1V0aWwuYWRkQ2xhc3ModGhpcy5jb250YWluZXIsICd2aS1ub3RpZmljYXRpb24nKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0Q2xvc2VkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmVtaXQoV2luZG93RXZlbnQuQ0xPU0VEKTtcbiAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBzZXRPcGVuZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5PUEVORUQpO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q29uZmlnKCk6IE5vdGlmaWNhdGlvbkNvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXMuY29uZmlnO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZ2V0Q29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZ2V0UmVmZXJlbmNlKCk6IE1hdERpYWxvZ1JlZjxJTm90aWZpY2F0aW9uQ29udGVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLnJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGVtaXQoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KE5vdGlmaWNhdGlvbkV2ZW50LlJFTU9WRUQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5vYnNlcnZlcikpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucHJvcGVydGllcyA9IG51bGw7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lciA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBTaXplIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlV2lkdGgoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUhlaWdodCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRXaWR0aCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMud2lkdGggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0SGVpZ2h0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0U2l6ZSh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFdpZHRoKHdpZHRoKTtcbiAgICAgICAgdGhpcy5zZXRIZWlnaHQoaGVpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIE1vdmUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXRYKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLng7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFgodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0WSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy55O1xuICAgIH1cbiAgICBwdWJsaWMgc2V0WSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMueSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBtb3ZlKHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0WCh4KTtcbiAgICAgICAgdGhpcy5zZXRZKHkpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IGV2ZW50cygpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlci5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbmZpZygpOiBOb3RpZmljYXRpb25Db25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLmNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbnRlbnQoKTogSU5vdGlmaWNhdGlvbkNvbnRlbnQ8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLnJlZmVyZW5jZSA/IHRoaXMucHJvcGVydGllcy5yZWZlcmVuY2UuY29tcG9uZW50SW5zdGFuY2UgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcbiAgICB9XG59XG4iXX0=
@@ -1,53 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatDialog, MatDialogModule } from '@angular/material/dialog';
6
- import { LanguageService } from '@ts-core/frontend';
7
- import { LanguageModule } from '../language/LanguageModule';
8
- import { NotificationBaseComponent } from './component/NotificationBaseComponent';
9
- import { NotificationComponent } from './component/notification/notification.component';
10
- import { NotificationFactory } from './NotificationFactory';
11
- import { NotificationService } from './NotificationService';
12
- import * as i0 from "@angular/core";
13
- const IMPORTS = [CommonModule, FormsModule, MatDialogModule, MatButtonModule, LanguageModule];
14
- const ENTRY_COMPONENTS = [];
15
- const DECLARATIONS = [NotificationComponent, ...ENTRY_COMPONENTS];
16
- const EXPORTS = [...DECLARATIONS];
17
- export class NotificationModule {
18
- // --------------------------------------------------------------------------
19
- //
20
- // Static Methods
21
- //
22
- // --------------------------------------------------------------------------
23
- static forRoot() {
24
- return {
25
- ngModule: NotificationService,
26
- providers: [
27
- {
28
- provide: NotificationService,
29
- deps: [MatDialog, LanguageService],
30
- useFactory: notificationServiceFactory
31
- }
32
- ]
33
- };
34
- }
35
- }
36
- NotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
37
- NotificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: NotificationModule, declarations: [NotificationComponent], imports: [CommonModule, FormsModule, MatDialogModule, MatButtonModule, LanguageModule], exports: [NotificationComponent] });
38
- NotificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationModule, imports: [IMPORTS] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationModule, decorators: [{
40
- type: NgModule,
41
- args: [{
42
- imports: IMPORTS,
43
- declarations: DECLARATIONS,
44
- exports: EXPORTS
45
- }]
46
- }] });
47
- export function notificationServiceFactory(dialog, language) {
48
- let item = new NotificationService(dialog, language);
49
- item.factory = new NotificationFactory(NotificationBaseComponent);
50
- item.questionComponent = NotificationComponent;
51
- return item;
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uTW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25Nb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUM5RixNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztBQUM1QixNQUFNLFlBQVksR0FBRyxDQUFDLHFCQUFxQixFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztBQUVsRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7QUFNbEMsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE1BQU0sQ0FBQyxPQUFPO1FBQ2pCLE9BQU87WUFDSCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO29CQUNsQyxVQUFVLEVBQUUsMEJBQTBCO2lCQUN6QzthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OytHQWxCUSxrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFSVCxxQkFBcUIsYUFGMUIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGNBQWMsYUFFdEUscUJBQXFCO2dIQVE5QixrQkFBa0IsWUFKbEIsT0FBTzsyRkFJUCxrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFlBQVksRUFBRSxZQUFZO29CQUMxQixPQUFPLEVBQUUsT0FBTztpQkFDbkI7O0FBc0JELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxNQUFpQixFQUFFLFFBQXlCO0lBQ25GLElBQUksSUFBSSxHQUFHLElBQUksbUJBQW1CLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2xFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQztJQUMvQyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgeyBMYW5ndWFnZU1vZHVsZSB9IGZyb20gJy4uL2xhbmd1YWdlL0xhbmd1YWdlTW9kdWxlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkJhc2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9Ob3RpZmljYXRpb25CYXNlQ29tcG9uZW50JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkZhY3RvcnkgfSBmcm9tICcuL05vdGlmaWNhdGlvbkZhY3RvcnknO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vTm90aWZpY2F0aW9uU2VydmljZSc7XG5cbmNvbnN0IElNUE9SVFMgPSBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0RGlhbG9nTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIExhbmd1YWdlTW9kdWxlXTtcbmNvbnN0IEVOVFJZX0NPTVBPTkVOVFMgPSBbXTtcbmNvbnN0IERFQ0xBUkFUSU9OUyA9IFtOb3RpZmljYXRpb25Db21wb25lbnQsIC4uLkVOVFJZX0NPTVBPTkVOVFNdO1xuXG5jb25zdCBFWFBPUlRTID0gWy4uLkRFQ0xBUkFUSU9OU107XG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IElNUE9SVFMsXG4gICAgZGVjbGFyYXRpb25zOiBERUNMQVJBVElPTlMsXG4gICAgZXhwb3J0czogRVhQT1JUU1xufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Nb2R1bGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFN0YXRpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tm90aWZpY2F0aW9uTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW01hdERpYWxvZywgTGFuZ3VhZ2VTZXJ2aWNlXSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogbm90aWZpY2F0aW9uU2VydmljZUZhY3RvcnlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm90aWZpY2F0aW9uU2VydmljZUZhY3RvcnkoZGlhbG9nOiBNYXREaWFsb2csIGxhbmd1YWdlOiBMYW5ndWFnZVNlcnZpY2UpOiBOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgICBsZXQgaXRlbSA9IG5ldyBOb3RpZmljYXRpb25TZXJ2aWNlKGRpYWxvZywgbGFuZ3VhZ2UpO1xuICAgIGl0ZW0uZmFjdG9yeSA9IG5ldyBOb3RpZmljYXRpb25GYWN0b3J5KE5vdGlmaWNhdGlvbkJhc2VDb21wb25lbnQpO1xuICAgIGl0ZW0ucXVlc3Rpb25Db21wb25lbnQgPSBOb3RpZmljYXRpb25Db21wb25lbnQ7XG4gICAgcmV0dXJuIGl0ZW07XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uUHJvcGVydGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uUHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uQ29udGVudCB9IGZyb20gJy4vSU5vdGlmaWNhdGlvbkNvbnRlbnQnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQ29uZmlnIH0gZnJvbSAnLi9Ob3RpZmljYXRpb25Db25maWcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvblByb3BlcnRpZXMge1xuICAgIHJlZmVyZW5jZT86IE1hdERpYWxvZ1JlZjxJTm90aWZpY2F0aW9uQ29udGVudD47XG4gICAgY29uZmlnPzogTm90aWZpY2F0aW9uQ29uZmlnO1xuICAgIG92ZXJsYXk/OiBPdmVybGF5UmVmO1xufVxuIl19
@@ -1,239 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ObservableData } from '@ts-core/common';
3
- import { ArrayUtil, DateUtil, ObjectUtil } from '@ts-core/common';
4
- import * as _ from 'lodash';
5
- import { Subject } from 'rxjs';
6
- import { QuestionMode } from '../question/IQuestion';
7
- import { QuestionManager } from '../question/QuestionManager';
8
- import { WindowEvent } from '../window/IWindow';
9
- import { WindowAlign } from '../window/WindowConfig';
10
- import { NotificationEvent } from './INotification';
11
- import { NotificationConfig } from './NotificationConfig';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/material/dialog";
14
- import * as i2 from "@ts-core/frontend";
15
- export class NotificationService {
16
- // --------------------------------------------------------------------------
17
- //
18
- // Constructor
19
- //
20
- // --------------------------------------------------------------------------
21
- constructor(dialog, language) {
22
- this.gapY = 25;
23
- this.minWidth = 25;
24
- this.minHeight = 25;
25
- this.paddingTop = 25;
26
- this.paddingLeft = 25;
27
- this.paddingRight = 25;
28
- this.paddingBottom = 25;
29
- this.defaultCloseDuration = 10 * DateUtil.MILISECONDS_SECOND;
30
- this._configs = [];
31
- this._closedConfigs = [];
32
- this._notifications = new Map();
33
- this.dialog = dialog;
34
- this.language = language;
35
- this.observer = new Subject();
36
- }
37
- // --------------------------------------------------------------------------
38
- //
39
- // Public Methods
40
- //
41
- // --------------------------------------------------------------------------
42
- open(component, config) {
43
- let notification = null;
44
- if (!_.isNil(config.id)) {
45
- notification = this.getById(config.id);
46
- if (notification) {
47
- return notification.content;
48
- }
49
- }
50
- this.setDefaultProperties(config);
51
- let reference = this.dialog.open(component, config);
52
- notification = this.factory.create({ config, reference, overlay: reference._overlayRef });
53
- let subscription = notification.events.subscribe(event => {
54
- switch (event) {
55
- case WindowEvent.OPENED:
56
- this.add(config, reference.componentInstance);
57
- this.checkPosition(notification);
58
- if (config.sound) {
59
- // Assets.playSound(config.sound);
60
- }
61
- break;
62
- case WindowEvent.CLOSED:
63
- subscription.unsubscribe();
64
- this.close(config);
65
- break;
66
- case NotificationEvent.REMOVED:
67
- subscription.unsubscribe();
68
- this.remove(config);
69
- break;
70
- }
71
- });
72
- return notification.content;
73
- }
74
- // --------------------------------------------------------------------------
75
- //
76
- // Private Methods
77
- //
78
- // --------------------------------------------------------------------------
79
- getById(id) {
80
- let item = _.find(Array.from(this._notifications.values()), item => item.config.id === id);
81
- return !_.isNil(item) ? item.notification : null;
82
- }
83
- setDefaultProperties(config) {
84
- if (_.isNaN(config.defaultMinWidth)) {
85
- config.defaultMinWidth = this.minWidth;
86
- }
87
- if (_.isNaN(config.defaultMinHeight)) {
88
- config.defaultMinHeight = this.minHeight;
89
- }
90
- if (_.isNaN(config.paddingTop)) {
91
- config.paddingTop = this.paddingTop;
92
- }
93
- if (_.isNaN(config.paddingLeft)) {
94
- config.paddingLeft = this.paddingLeft;
95
- }
96
- if (_.isNaN(config.paddingRight)) {
97
- config.paddingRight = this.paddingRight;
98
- }
99
- if (_.isNaN(config.paddingBottom)) {
100
- config.paddingBottom = this.paddingBottom;
101
- }
102
- if (_.isNaN(config.closeDuration)) {
103
- config.closeDuration = this.defaultCloseDuration;
104
- }
105
- config.verticalAlign = WindowAlign.START;
106
- config.horizontalAlign = WindowAlign.END;
107
- config.setDefaultProperties();
108
- }
109
- checkPosition(item) {
110
- let previous = this.getPrevious(item);
111
- if (!_.isNil(previous)) {
112
- item.setY(previous.getY() + previous.getHeight() + this.gapY);
113
- }
114
- }
115
- getPrevious(value) {
116
- if (this.notifications.size === 0) {
117
- return null;
118
- }
119
- let items = Array.from(this.notifications.values());
120
- for (let i = 0; i < items.length; i++) {
121
- if (items[i].notification === value) {
122
- if (i === 0) {
123
- return null;
124
- }
125
- return items[i - 1].notification;
126
- }
127
- }
128
- return null;
129
- }
130
- // --------------------------------------------------------------------------
131
- //
132
- // Setters Methods
133
- //
134
- // --------------------------------------------------------------------------
135
- add(config, content) {
136
- this._configs.push(config);
137
- this.observer.next(new ObservableData(NotificationServiceEvent.ADDED, config));
138
- this._notifications.set(config, content);
139
- this.observer.next(new ObservableData(NotificationServiceEvent.OPENED, content.notification));
140
- }
141
- // --------------------------------------------------------------------------
142
- //
143
- // Help Methods
144
- //
145
- // --------------------------------------------------------------------------
146
- get(value) {
147
- if (_.isNil(value)) {
148
- return null;
149
- }
150
- if (value instanceof NotificationConfig) {
151
- return value;
152
- }
153
- let id = value.toString();
154
- if (ObjectUtil.instanceOf(value, ['id'])) {
155
- id = value.id;
156
- }
157
- for (let item of this.configs) {
158
- if (item.id === id) {
159
- return item;
160
- }
161
- }
162
- return null;
163
- }
164
- has(value) {
165
- return !_.isNil(this.get(value));
166
- }
167
- remove(value) {
168
- let config = this.get(value);
169
- if (_.isNil(config)) {
170
- return;
171
- }
172
- this.close(config);
173
- ArrayUtil.remove(this._configs, config);
174
- ArrayUtil.remove(this._closedConfigs, config);
175
- this.observer.next(new ObservableData(NotificationServiceEvent.REMOVED, config));
176
- config.destroy();
177
- }
178
- removeAll() {
179
- this.configs.forEach(item => this.remove(item));
180
- }
181
- close(value) {
182
- let config = this.get(value);
183
- if (_.isNil(config)) {
184
- return null;
185
- }
186
- let notification = this._notifications.get(config);
187
- if (_.isNil(notification)) {
188
- return null;
189
- }
190
- notification.close();
191
- this._notifications.delete(config);
192
- this._closedConfigs.push(config);
193
- this.observer.next(new ObservableData(NotificationServiceEvent.CLOSED, notification.notification));
194
- return notification.notification;
195
- }
196
- info(translationId, translation, questionOptions, configOptions) {
197
- let text = this.language.translate(translationId, translation);
198
- let data = new QuestionManager(_.assign(questionOptions, { mode: QuestionMode.INFO, text }));
199
- let config = _.assign(new NotificationConfig(data), configOptions);
200
- return this.open(this.questionComponent, config).config.data;
201
- }
202
- question(translationId, translation, questionOptions, configOptions) {
203
- let text = this.language.translate(translationId, translation);
204
- let data = new QuestionManager(_.assign(questionOptions, { mode: QuestionMode.QUESTION, text }));
205
- let config = _.assign(new NotificationConfig(data), configOptions);
206
- return this.open(this.questionComponent, config).config.data;
207
- }
208
- // --------------------------------------------------------------------------
209
- //
210
- // Public Properties
211
- //
212
- // --------------------------------------------------------------------------
213
- get events() {
214
- return this.observer.asObservable();
215
- }
216
- get configs() {
217
- return this._configs;
218
- }
219
- get closedConfigs() {
220
- return this._closedConfigs;
221
- }
222
- get notifications() {
223
- return this._notifications;
224
- }
225
- }
226
- NotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationService, deps: [{ token: i1.MatDialog }, { token: i2.LanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
227
- NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationService, providedIn: 'root' });
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationService, decorators: [{
229
- type: Injectable,
230
- args: [{ providedIn: 'root' }]
231
- }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.LanguageService }]; } });
232
- export var NotificationServiceEvent;
233
- (function (NotificationServiceEvent) {
234
- NotificationServiceEvent["OPENED"] = "OPENED";
235
- NotificationServiceEvent["CLOSED"] = "CLOSED";
236
- NotificationServiceEvent["ADDED"] = "ADDED";
237
- NotificationServiceEvent["REMOVED"] = "REMOVED";
238
- })(NotificationServiceEvent || (NotificationServiceEvent = {}));
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBK0IsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxrQkFBa0IsRUFBNkIsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUlyRixNQUFNLE9BQU8sbUJBQW1CO0lBK0I1Qiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksTUFBaUIsRUFBRSxRQUF5QjtRQWxCakQsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFFdkIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixpQkFBWSxHQUFXLEVBQUUs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LENBQUMsTUFBTSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2pFLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7O2dIQTlRUSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUROLE1BQU07MkZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBb1JsQyxNQUFNLENBQU4sSUFBWSx3QkFLWDtBQUxELFdBQVksd0JBQXdCO0lBQ2hDLDZDQUFpQixDQUFBO0lBQ2pCLDZDQUFpQixDQUFBO0lBQ2pCLDJDQUFlLENBQUE7SUFDZiwrQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBTFcsd0JBQXdCLEtBQXhCLHdCQUF3QixRQUtuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE9ic2VydmFibGVEYXRhIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IEFycmF5VXRpbCwgRGF0ZVV0aWwsIE9iamVjdFV0aWwgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVF1ZXN0aW9uLCBJUXVlc3Rpb25PcHRpb25zLCBRdWVzdGlvbk1vZGUgfSBmcm9tICcuLi9xdWVzdGlvbi9JUXVlc3Rpb24nO1xuaW1wb3J0IHsgUXVlc3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi4vcXVlc3Rpb24vUXVlc3Rpb25NYW5hZ2VyJztcbmltcG9ydCB7IFdpbmRvd0V2ZW50IH0gZnJvbSAnLi4vd2luZG93L0lXaW5kb3cnO1xuaW1wb3J0IHsgV2luZG93QWxpZ24gfSBmcm9tICcuLi93aW5kb3cvV2luZG93Q29uZmlnJztcbmltcG9ydCB7IElOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbkV2ZW50IH0gZnJvbSAnLi9JTm90aWZpY2F0aW9uJztcbmltcG9ydCB7IElOb3RpZmljYXRpb25Db250ZW50IH0gZnJvbSAnLi9JTm90aWZpY2F0aW9uQ29udGVudCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Db25maWcsIE5vdGlmaWNhdGlvbkNvbmZpZ09wdGlvbnMgfSBmcm9tICcuL05vdGlmaWNhdGlvbkNvbmZpZyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25GYWN0b3J5IH0gZnJvbSAnLi9Ob3RpZmljYXRpb25GYWN0b3J5JztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGZhY3Rvcnk6IE5vdGlmaWNhdGlvbkZhY3Rvcnk8SU5vdGlmaWNhdGlvbj47XG4gICAgcHVibGljIHF1ZXN0aW9uQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPElOb3RpZmljYXRpb25Db250ZW50PGFueT4+O1xuXG4gICAgcHJvdGVjdGVkIGRpYWxvZzogTWF0RGlhbG9nO1xuICAgIHByb3RlY3RlZCBsYW5ndWFnZTogTGFuZ3VhZ2VTZXJ2aWNlO1xuXG4gICAgcHJvdGVjdGVkIF9jb25maWdzOiBBcnJheTxOb3RpZmljYXRpb25Db25maWc+O1xuICAgIHByb3RlY3RlZCBfY2xvc2VkQ29uZmlnczogQXJyYXk8Tm90aWZpY2F0aW9uQ29uZmlnPjtcbiAgICBwcm90ZWN0ZWQgX25vdGlmaWNhdGlvbnM6IE1hcDxOb3RpZmljYXRpb25Db25maWcsIElOb3RpZmljYXRpb25Db250ZW50PGFueT4+O1xuXG4gICAgcHJpdmF0ZSBvYnNlcnZlcjogU3ViamVjdDxPYnNlcnZhYmxlRGF0YTxOb3RpZmljYXRpb25TZXJ2aWNlRXZlbnQsIElOb3RpZmljYXRpb24gfCBOb3RpZmljYXRpb25Db25maWc+PjtcblxuICAgIHB1YmxpYyBnYXBZOiBudW1iZXIgPSAyNTtcblxuICAgIHB1YmxpYyBtaW5XaWR0aDogbnVtYmVyID0gMjU7XG4gICAgcHVibGljIG1pbkhlaWdodDogbnVtYmVyID0gMjU7XG5cbiAgICBwdWJsaWMgcGFkZGluZ1RvcDogbnVtYmVyID0gMjU7XG4gICAgcHVibGljIHBhZGRpbmdMZWZ0OiBudW1iZXIgPSAyNTtcbiAgICBwdWJsaWMgcGFkZGluZ1JpZ2h0OiBudW1iZXIgPSAyNTtcbiAgICBwdWJsaWMgcGFkZGluZ0JvdHRvbTogbnVtYmVyID0gMjU7XG5cbiAgICBwdWJsaWMgZGVmYXVsdENsb3NlRHVyYXRpb246IG51bWJlciA9IDEwICogRGF0ZVV0aWwuTUlMSVNFQ09ORFNfU0VDT05EO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3RvcihkaWFsb2c6IE1hdERpYWxvZywgbGFuZ3VhZ2U6IExhbmd1YWdlU2VydmljZSkge1xuICAgICAgICB0aGlzLl9jb25maWdzID0gW107XG4gICAgICAgIHRoaXMuX2Nsb3NlZENvbmZpZ3MgPSBbXTtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucyA9IG5ldyBNYXAoKTtcblxuICAgICAgICB0aGlzLmRpYWxvZyA9IGRpYWxvZztcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IFN1YmplY3QoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBvcGVuPFQ+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxJTm90aWZpY2F0aW9uQ29udGVudDxUPj4sIGNvbmZpZzogTm90aWZpY2F0aW9uQ29uZmlnKTogSU5vdGlmaWNhdGlvbkNvbnRlbnQ8VD4ge1xuICAgICAgICBsZXQgbm90aWZpY2F0aW9uID0gbnVsbDtcbiAgICAgICAgaWYgKCFfLmlzTmlsKGNvbmZpZy5pZCkpIHtcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbiA9IHRoaXMuZ2V0QnlJZChjb25maWcuaWQpO1xuICAgICAgICAgICAgaWYgKG5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiBub3RpZmljYXRpb24uY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdFByb3BlcnRpZXMoY29uZmlnKTtcblxuICAgICAgICBsZXQgcmVmZXJlbmNlOiBNYXREaWFsb2dSZWY8SU5vdGlmaWNhdGlvbkNvbnRlbnQ8VD4+ID0gdGhpcy5kaWFsb2cub3Blbihjb21wb25lbnQsIGNvbmZpZyk7XG4gICAgICAgIG5vdGlmaWNhdGlvbiA9IHRoaXMuZmFjdG9yeS5jcmVhdGUoeyBjb25maWcsIHJlZmVyZW5jZSwgb3ZlcmxheTogKHJlZmVyZW5jZSBhcyBhbnkpLl9vdmVybGF5UmVmIH0pO1xuXG4gICAgICAgIGxldCBzdWJzY3JpcHRpb24gPSBub3RpZmljYXRpb24uZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgY2FzZSBXaW5kb3dFdmVudC5PUEVORUQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkKGNvbmZpZywgcmVmZXJlbmNlLmNvbXBvbmVudEluc3RhbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja1Bvc2l0aW9uKG5vdGlmaWNhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcuc291bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFzc2V0cy5wbGF5U291bmQoY29uZmlnLnNvdW5kKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgV2luZG93RXZlbnQuQ0xPU0VEOlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZShjb25maWcpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgTm90aWZpY2F0aW9uRXZlbnQuUkVNT1ZFRDpcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlKGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbi5jb250ZW50O1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgZ2V0QnlJZChpZDogc3RyaW5nKTogSU5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGxldCBpdGVtID0gXy5maW5kKEFycmF5LmZyb20odGhpcy5fbm90aWZpY2F0aW9ucy52YWx1ZXMoKSksIGl0ZW0gPT4gaXRlbS5jb25maWcuaWQgPT09IGlkKTtcbiAgICAgICAgcmV0dXJuICFfLmlzTmlsKGl0ZW0pID8gaXRlbS5ub3RpZmljYXRpb24gOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdFByb3BlcnRpZXMoY29uZmlnOiBOb3RpZmljYXRpb25Db25maWcpOiB2b2lkIHtcbiAgICAgICAgaWYgKF8uaXNOYU4oY29uZmlnLmRlZmF1bHRNaW5XaWR0aCkpIHtcbiAgICAgICAgICAgIGNvbmZpZy5kZWZhdWx0TWluV2lkdGggPSB0aGlzLm1pbldpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChfLmlzTmFOKGNvbmZpZy5kZWZhdWx0TWluSGVpZ2h0KSkge1xuICAgICAgICAgICAgY29uZmlnLmRlZmF1bHRNaW5IZWlnaHQgPSB0aGlzLm1pbkhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfLmlzTmFOKGNvbmZpZy5wYWRkaW5nVG9wKSkge1xuICAgICAgICAgICAgY29uZmlnLnBhZGRpbmdUb3AgPSB0aGlzLnBhZGRpbmdUb3A7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKF8uaXNOYU4oY29uZmlnLnBhZGRpbmdMZWZ0KSkge1xuICAgICAgICAgICAgY29uZmlnLnBhZGRpbmdMZWZ0ID0gdGhpcy5wYWRkaW5nTGVmdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXy5pc05hTihjb25maWcucGFkZGluZ1JpZ2h0KSkge1xuICAgICAgICAgICAgY29uZmlnLnBhZGRpbmdSaWdodCA9IHRoaXMucGFkZGluZ1JpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChfLmlzTmFOKGNvbmZpZy5wYWRkaW5nQm90dG9tKSkge1xuICAgICAgICAgICAgY29uZmlnLnBhZGRpbmdCb3R0b20gPSB0aGlzLnBhZGRpbmdCb3R0b207XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXy5pc05hTihjb25maWcuY2xvc2VEdXJhdGlvbikpIHtcbiAgICAgICAgICAgIGNvbmZpZy5jbG9zZUR1cmF0aW9uID0gdGhpcy5kZWZhdWx0Q2xvc2VEdXJhdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbmZpZy52ZXJ0aWNhbEFsaWduID0gV2luZG93QWxpZ24uU1RBUlQ7XG4gICAgICAgIGNvbmZpZy5ob3Jpem9udGFsQWxpZ24gPSBXaW5kb3dBbGlnbi5FTkQ7XG4gICAgICAgIGNvbmZpZy5zZXREZWZhdWx0UHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tQb3NpdGlvbihpdGVtOiBJTm90aWZpY2F0aW9uKTogdm9pZCB7XG4gICAgICAgIGxldCBwcmV2aW91cyA9IHRoaXMuZ2V0UHJldmlvdXMoaXRlbSk7XG4gICAgICAgIGlmICghXy5pc05pbChwcmV2aW91cykpIHtcbiAgICAgICAgICAgIGl0ZW0uc2V0WShwcmV2aW91cy5nZXRZKCkgKyBwcmV2aW91cy5nZXRIZWlnaHQoKSArIHRoaXMuZ2FwWSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByZXZpb3VzKHZhbHVlOiBJTm90aWZpY2F0aW9uKTogSU5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvbnMuc2l6ZSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaXRlbXMgPSBBcnJheS5mcm9tKHRoaXMubm90aWZpY2F0aW9ucy52YWx1ZXMoKSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChpdGVtc1tpXS5ub3RpZmljYXRpb24gPT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtc1tpIC0gMV0ubm90aWZpY2F0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFNldHRlcnMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgYWRkPFQ+KGNvbmZpZzogTm90aWZpY2F0aW9uQ29uZmlnLCBjb250ZW50OiBJTm90aWZpY2F0aW9uQ29udGVudDxUPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb25maWdzLnB1c2goY29uZmlnKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShOb3RpZmljYXRpb25TZXJ2aWNlRXZlbnQuQURERUQsIGNvbmZpZykpO1xuXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMuc2V0KGNvbmZpZywgY29udGVudCk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTm90aWZpY2F0aW9uU2VydmljZUV2ZW50Lk9QRU5FRCwgY29udGVudC5ub3RpZmljYXRpb24pKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRIZWxwIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0KHZhbHVlOiBOb3RpZmljYXRpb25JZCk6IE5vdGlmaWNhdGlvbkNvbmZpZyB7XG4gICAgICAgIGlmIChfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTm90aWZpY2F0aW9uQ29uZmlnKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaWQgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICBpZiAoT2JqZWN0VXRpbC5pbnN0YW5jZU9mPE5vdGlmaWNhdGlvbkNvbmZpZ09wdGlvbnM+KHZhbHVlLCBbJ2lkJ10pKSB7XG4gICAgICAgICAgICBpZCA9IHZhbHVlLmlkO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5jb25maWdzKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pZCA9PT0gaWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzKHZhbHVlOiBOb3RpZmljYXRpb25JZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwodGhpcy5nZXQodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKHZhbHVlOiBOb3RpZmljYXRpb25JZCk6IHZvaWQge1xuICAgICAgICBsZXQgY29uZmlnID0gdGhpcy5nZXQodmFsdWUpO1xuICAgICAgICBpZiAoXy5pc05pbChjb25maWcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsb3NlKGNvbmZpZyk7XG4gICAgICAgIEFycmF5VXRpbC5yZW1vdmUodGhpcy5fY29uZmlncywgY29uZmlnKTtcbiAgICAgICAgQXJyYXlVdGlsLnJlbW92ZSh0aGlzLl9jbG9zZWRDb25maWdzLCBjb25maWcpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKE5vdGlmaWNhdGlvblNlcnZpY2VFdmVudC5SRU1PVkVELCBjb25maWcpKTtcbiAgICAgICAgY29uZmlnLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpZ3MuZm9yRWFjaChpdGVtID0+IHRoaXMucmVtb3ZlKGl0ZW0pKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UodmFsdWU6IE5vdGlmaWNhdGlvbklkKTogSU5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGxldCBjb25maWcgPSB0aGlzLmdldCh2YWx1ZSk7XG4gICAgICAgIGlmIChfLmlzTmlsKGNvbmZpZykpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG5vdGlmaWNhdGlvbiA9IHRoaXMuX25vdGlmaWNhdGlvbnMuZ2V0KGNvbmZpZyk7XG4gICAgICAgIGlmIChfLmlzTmlsKG5vdGlmaWNhdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbm90aWZpY2F0aW9uLmNsb3NlKCk7XG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMuZGVsZXRlKGNvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5fY2xvc2VkQ29uZmlncy5wdXNoKGNvbmZpZyk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTm90aWZpY2F0aW9uU2VydmljZUV2ZW50LkNMT1NFRCwgbm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbikpO1xuICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5mbyh0cmFuc2xhdGlvbklkPzogc3RyaW5nLCB0cmFuc2xhdGlvbj86IGFueSwgcXVlc3Rpb25PcHRpb25zPzogSVF1ZXN0aW9uT3B0aW9ucywgY29uZmlnT3B0aW9ucz86IE5vdGlmaWNhdGlvbkNvbmZpZ09wdGlvbnMpOiBJUXVlc3Rpb24ge1xuICAgICAgICBsZXQgdGV4dCA9IHRoaXMubGFuZ3VhZ2UudHJhbnNsYXRlKHRyYW5zbGF0aW9uSWQsIHRyYW5zbGF0aW9uKTtcbiAgICAgICAgbGV0IGRhdGEgPSBuZXcgUXVlc3Rpb25NYW5hZ2VyKF8uYXNzaWduKHF1ZXN0aW9uT3B0aW9ucywgeyBtb2RlOiBRdWVzdGlvbk1vZGUuSU5GTywgdGV4dCB9KSk7XG4gICAgICAgIGxldCBjb25maWcgPSBfLmFzc2lnbihuZXcgTm90aWZpY2F0aW9uQ29uZmlnKGRhdGEpLCBjb25maWdPcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3Blbih0aGlzLnF1ZXN0aW9uQ29tcG9uZW50LCBjb25maWcpLmNvbmZpZy5kYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBxdWVzdGlvbih0cmFuc2xhdGlvbklkPzogc3RyaW5nLCB0cmFuc2xhdGlvbj86IGFueSwgcXVlc3Rpb25PcHRpb25zPzogSVF1ZXN0aW9uT3B0aW9ucywgY29uZmlnT3B0aW9ucz86IE5vdGlmaWNhdGlvbkNvbmZpZ09wdGlvbnMpOiBJUXVlc3Rpb24ge1xuICAgICAgICBsZXQgdGV4dCA9IHRoaXMubGFuZ3VhZ2UudHJhbnNsYXRlKHRyYW5zbGF0aW9uSWQsIHRyYW5zbGF0aW9uKTtcbiAgICAgICAgbGV0IGRhdGEgPSBuZXcgUXVlc3Rpb25NYW5hZ2VyKF8uYXNzaWduKHF1ZXN0aW9uT3B0aW9ucywgeyBtb2RlOiBRdWVzdGlvbk1vZGUuUVVFU1RJT04sIHRleHQgfSkpO1xuICAgICAgICBsZXQgY29uZmlnID0gXy5hc3NpZ24obmV3IE5vdGlmaWNhdGlvbkNvbmZpZyhkYXRhKSwgY29uZmlnT3B0aW9ucyk7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4odGhpcy5xdWVzdGlvbkNvbXBvbmVudCwgY29uZmlnKS5jb25maWcuZGF0YTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgZXZlbnRzKCk6IE9ic2VydmFibGU8T2JzZXJ2YWJsZURhdGE8Tm90aWZpY2F0aW9uU2VydmljZUV2ZW50LCBOb3RpZmljYXRpb25Db25maWcgfCBJTm90aWZpY2F0aW9uPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlci5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbmZpZ3MoKTogQXJyYXk8Tm90aWZpY2F0aW9uQ29uZmlnPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWdzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY2xvc2VkQ29uZmlncygpOiBBcnJheTxOb3RpZmljYXRpb25Db25maWc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Nsb3NlZENvbmZpZ3M7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBub3RpZmljYXRpb25zKCk6IE1hcDxOb3RpZmljYXRpb25Db25maWcsIElOb3RpZmljYXRpb25Db250ZW50PGFueT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbnM7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25JZCA9IHN0cmluZyB8IE5vdGlmaWNhdGlvbkNvbmZpZyB8IE5vdGlmaWNhdGlvbkNvbmZpZ09wdGlvbnM7XG5cbmV4cG9ydCBlbnVtIE5vdGlmaWNhdGlvblNlcnZpY2VFdmVudCB7XG4gICAgT1BFTkVEID0gJ09QRU5FRCcsXG4gICAgQ0xPU0VEID0gJ0NMT1NFRCcsXG4gICAgQURERUQgPSAnQURERUQnLFxuICAgIFJFTU9WRUQgPSAnUkVNT1ZFRCdcbn1cbiJdfQ==
@@ -1,4 +0,0 @@
1
- import { NotificationImpl } from '../../notification/NotificationImpl';
2
- export class NotificationBaseComponent extends NotificationImpl {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uQmFzZUNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub3RpZmljYXRpb24vY29tcG9uZW50L05vdGlmaWNhdGlvbkJhc2VDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGdCQUFnQjtDQUFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm90aWZpY2F0aW9uSW1wbCB9IGZyb20gJy4uLy4uL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25JbXBsJztcblxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkJhc2VDb21wb25lbnQgZXh0ZW5kcyBOb3RpZmljYXRpb25JbXBsIHt9XG4iXX0=
@@ -1,50 +0,0 @@
1
- import { Component, HostListener } from '@angular/core';
2
- import { INotificationContent } from '../../notification/INotificationContent';
3
- import { ViewUtil } from '../../util/ViewUtil';
4
- import * as i0 from "@angular/core";
5
- export class NotificationQuestionBaseComponent extends INotificationContent {
6
- // --------------------------------------------------------------------------
7
- //
8
- // Protected Methods
9
- //
10
- // --------------------------------------------------------------------------
11
- commitConfigProperties() {
12
- super.commitConfigProperties();
13
- if (this.isInfo) {
14
- ViewUtil.addClass(this.container, 'mouse-active');
15
- }
16
- this.data.closePromise.then(() => {
17
- if (!this.isDestroyed) {
18
- this.remove();
19
- }
20
- });
21
- }
22
- // --------------------------------------------------------------------------
23
- //
24
- // Event Handlers
25
- //
26
- // --------------------------------------------------------------------------
27
- clickHandler() {
28
- if (this.isInfo) {
29
- this.data.closeClickHandler();
30
- }
31
- }
32
- // --------------------------------------------------------------------------
33
- //
34
- // Protected Properties
35
- //
36
- // --------------------------------------------------------------------------
37
- get isInfo() {
38
- return this.data ? this.data.isInfo : false;
39
- }
40
- }
41
- NotificationQuestionBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationQuestionBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
42
- NotificationQuestionBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: NotificationQuestionBaseComponent, selector: "ng-component", host: { listeners: { "click": "clickHandler()" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationQuestionBaseComponent, decorators: [{
44
- type: Component,
45
- args: [{ template: '' }]
46
- }], propDecorators: { clickHandler: [{
47
- type: HostListener,
48
- args: ['click']
49
- }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uUXVlc3Rpb25CYXNlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25vdGlmaWNhdGlvbi9jb21wb25lbnQvTm90aWZpY2F0aW9uUXVlc3Rpb25CYXNlQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHL0MsTUFBTSxPQUFnQixpQ0FBa0MsU0FBUSxvQkFBcUM7SUFDakcsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxzQkFBc0I7UUFDNUIsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFL0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2pCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUd0RSxZQUFZO1FBQ2YsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysd0JBQXdCO0lBQ3hCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBYyxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDOzs4SEExQ2lCLGlDQUFpQztrSEFBakMsaUNBQWlDLCtIQURoQyxFQUFFOzJGQUNILGlDQUFpQztrQkFEdEQsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBNkJoQixZQUFZO3NCQURsQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbkNvbnRlbnQgfSBmcm9tICcuLi8uLi9ub3RpZmljYXRpb24vSU5vdGlmaWNhdGlvbkNvbnRlbnQnO1xuaW1wb3J0IHsgUXVlc3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vcXVlc3Rpb24vUXVlc3Rpb25NYW5hZ2VyJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbC9WaWV3VXRpbCc7XG5cbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOb3RpZmljYXRpb25RdWVzdGlvbkJhc2VDb21wb25lbnQgZXh0ZW5kcyBJTm90aWZpY2F0aW9uQ29udGVudDxRdWVzdGlvbk1hbmFnZXI+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBjb21taXRDb25maWdQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5jb21taXRDb25maWdQcm9wZXJ0aWVzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNJbmZvKSB7XG4gICAgICAgICAgICBWaWV3VXRpbC5hZGRDbGFzcyh0aGlzLmNvbnRhaW5lciwgJ21vdXNlLWFjdGl2ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kYXRhLmNsb3NlUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdEV2ZW50IEhhbmRsZXJzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIHB1YmxpYyBjbGlja0hhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzSW5mbykge1xuICAgICAgICAgICAgdGhpcy5kYXRhLmNsb3NlQ2xpY2tIYW5kbGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm90ZWN0ZWQgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNJbmZvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhID8gdGhpcy5kYXRhLmlzSW5mbyA6IGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==