ngx-ode-ui 4.6.0-dev.1 → 4.6.0-dev.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.
Files changed (226) hide show
  1. package/esm2020/lib/components/datepicker/datepicker.component.mjs +148 -0
  2. package/esm2020/lib/components/dropdown/dropdown.component.mjs +55 -0
  3. package/esm2020/lib/components/ellipsis/ellipsis.component.mjs +53 -0
  4. package/esm2020/lib/components/form-errors/form-errors.component.mjs +35 -0
  5. package/esm2020/lib/components/form-field/form-field.component.mjs +24 -0
  6. package/esm2020/lib/components/item-tree/item-tree.component.mjs +170 -0
  7. package/esm2020/lib/components/lightbox/lightbox.component.mjs +70 -0
  8. package/esm2020/lib/components/lightbox-confirm/lightbox-confirm.component.mjs +43 -0
  9. package/esm2020/lib/components/list/list.component.mjs +88 -0
  10. package/esm2020/lib/components/list-checkable/list-checkable.component.mjs +79 -0
  11. package/esm2020/lib/components/message-box/message-box.component.mjs +92 -0
  12. package/esm2020/lib/components/message-sticker/message-sticker.component.mjs +51 -0
  13. package/esm2020/lib/components/mono-select/mono-select.component.mjs +83 -0
  14. package/esm2020/lib/components/multi-combo/multi-combo.component.mjs +166 -0
  15. package/esm2020/lib/components/multi-select/multi-select.component.mjs +104 -0
  16. package/esm2020/lib/components/panel-section/panel-section.component.mjs +23 -0
  17. package/esm2020/lib/components/portal/portal.component.mjs +15 -0
  18. package/esm2020/lib/components/push-panel/push-panel.component.mjs +43 -0
  19. package/esm2020/lib/components/search-input/search-input.component.mjs +87 -0
  20. package/esm2020/lib/components/search-toolbar/search-toolbar.component.mjs +56 -0
  21. package/esm2020/lib/components/side-layout/side-layout.component.mjs +23 -0
  22. package/esm2020/lib/components/side-panel/side-panel.component.mjs +41 -0
  23. package/esm2020/lib/components/spinner-cube/spinner-cube.component.mjs +31 -0
  24. package/esm2020/lib/components/table/pager.component.mjs +48 -0
  25. package/esm2020/lib/components/tooltip/tooltip.component.mjs +104 -0
  26. package/esm2020/lib/components/upload-files/upload-files.component.mjs +59 -0
  27. package/esm2020/lib/components/value-editable/simple-select.component.mjs +29 -0
  28. package/esm2020/lib/components/wizard/wizard.component.mjs +152 -0
  29. package/esm2020/lib/directives/anchor.directive.mjs +27 -0
  30. package/esm2020/lib/directives/drag-and-drop-files.directive.mjs +82 -0
  31. package/esm2020/lib/directives/dynamic-component/component-descriptor.model.mjs +15 -0
  32. package/esm2020/lib/directives/dynamic-component/dynamic-component.directive.mjs +58 -0
  33. package/esm2020/lib/directives/dynamictemplate.directive.mjs +83 -0
  34. package/esm2020/lib/directives/object-url.directive.mjs +28 -0
  35. package/esm2020/lib/ngx-ode-ui.module.mjs +282 -0
  36. package/esm2020/lib/pipes/bytes.pipe.mjs +20 -0
  37. package/esm2020/lib/pipes/filter.pipe.mjs +97 -0
  38. package/esm2020/lib/pipes/flattenObjArray.pipe.mjs +35 -0
  39. package/esm2020/lib/pipes/keys.pipe.mjs +20 -0
  40. package/esm2020/lib/pipes/length.pipe.mjs +17 -0
  41. package/esm2020/lib/pipes/limit.pipe.mjs +17 -0
  42. package/esm2020/lib/pipes/localizedDate.pipe.mjs +23 -0
  43. package/esm2020/lib/pipes/orderBy.pipe.mjs +161 -0
  44. package/esm2020/lib/pipes/replace.pipe.mjs +20 -0
  45. package/esm2020/lib/pipes/store.pipe.mjs +17 -0
  46. package/esm2020/lib/services/dynamicModuleImports.service.mjs +13 -0
  47. package/esm2020/lib/services/inputFile.service.mjs +56 -0
  48. package/esm2020/lib/services/labels.service.mjs +32 -0
  49. package/esm2020/lib/services/spinner.service.mjs +76 -0
  50. package/esm2020/lib/utils/math.mjs +19 -0
  51. package/esm2020/lib/utils/string.mjs +11 -0
  52. package/esm2020/lib/utils/testing.mjs +7 -0
  53. package/esm2020/ngx-ode-ui.mjs +5 -0
  54. package/esm2020/public-api.mjs +57 -0
  55. package/fesm2015/ngx-ode-ui.mjs +2954 -0
  56. package/fesm2015/ngx-ode-ui.mjs.map +1 -0
  57. package/fesm2020/ngx-ode-ui.mjs +2952 -0
  58. package/fesm2020/ngx-ode-ui.mjs.map +1 -0
  59. package/index.d.ts +5 -0
  60. package/lib/components/datepicker/datepicker.component.d.ts +7 -2
  61. package/lib/components/dropdown/dropdown.component.d.ts +3 -0
  62. package/lib/components/ellipsis/ellipsis.component.d.ts +4 -1
  63. package/lib/components/form-errors/form-errors.component.d.ts +3 -0
  64. package/lib/components/form-field/form-field.component.d.ts +3 -0
  65. package/lib/components/item-tree/item-tree.component.d.ts +5 -1
  66. package/lib/components/lightbox/lightbox.component.d.ts +5 -1
  67. package/lib/components/lightbox-confirm/lightbox-confirm.component.d.ts +3 -0
  68. package/lib/components/list/list.component.d.ts +5 -1
  69. package/lib/components/list-checkable/list-checkable.component.d.ts +5 -1
  70. package/lib/components/message-box/message-box.component.d.ts +8 -4
  71. package/lib/components/message-sticker/message-sticker.component.d.ts +3 -0
  72. package/lib/components/mono-select/mono-select.component.d.ts +3 -0
  73. package/lib/components/multi-combo/multi-combo.component.d.ts +4 -1
  74. package/lib/components/multi-select/multi-select.component.d.ts +3 -0
  75. package/lib/components/panel-section/panel-section.component.d.ts +3 -0
  76. package/lib/components/portal/portal.component.d.ts +3 -0
  77. package/lib/components/push-panel/push-panel.component.d.ts +4 -1
  78. package/lib/components/search-input/search-input.component.d.ts +5 -1
  79. package/lib/components/search-toolbar/search-toolbar.component.d.ts +3 -0
  80. package/lib/components/side-layout/side-layout.component.d.ts +3 -0
  81. package/lib/components/side-panel/side-panel.component.d.ts +4 -1
  82. package/lib/components/spinner-cube/spinner-cube.component.d.ts +5 -1
  83. package/lib/components/table/pager.component.d.ts +3 -0
  84. package/lib/components/tooltip/tooltip.component.d.ts +3 -0
  85. package/lib/components/upload-files/upload-files.component.d.ts +3 -0
  86. package/lib/components/value-editable/simple-select.component.d.ts +3 -0
  87. package/lib/components/wizard/wizard.component.d.ts +5 -0
  88. package/lib/directives/anchor.directive.d.ts +3 -0
  89. package/lib/directives/drag-and-drop-files.directive.d.ts +3 -0
  90. package/lib/directives/dynamic-component/dynamic-component.directive.d.ts +3 -0
  91. package/lib/directives/dynamictemplate.directive.d.ts +4 -1
  92. package/lib/directives/object-url.directive.d.ts +3 -0
  93. package/lib/ngx-ode-ui.module.d.ts +53 -2
  94. package/lib/pipes/bytes.pipe.d.ts +3 -0
  95. package/lib/pipes/filter.pipe.d.ts +3 -0
  96. package/lib/pipes/flattenObjArray.pipe.d.ts +3 -0
  97. package/lib/pipes/keys.pipe.d.ts +3 -0
  98. package/lib/pipes/length.pipe.d.ts +3 -0
  99. package/lib/pipes/limit.pipe.d.ts +3 -0
  100. package/lib/pipes/localizedDate.pipe.d.ts +3 -0
  101. package/lib/pipes/orderBy.pipe.d.ts +3 -0
  102. package/lib/pipes/replace.pipe.d.ts +8 -0
  103. package/lib/pipes/store.pipe.d.ts +3 -0
  104. package/lib/services/dynamicModuleImports.service.d.ts +3 -0
  105. package/lib/services/inputFile.service.d.ts +3 -0
  106. package/lib/services/labels.service.d.ts +3 -0
  107. package/lib/services/spinner.service.d.ts +4 -1
  108. package/package.json +29 -17
  109. package/public-api.d.ts +3 -0
  110. package/CHANGELOG.md +0 -14
  111. package/bundles/ngx-ode-ui.umd.js +0 -5804
  112. package/bundles/ngx-ode-ui.umd.js.map +0 -1
  113. package/bundles/ngx-ode-ui.umd.min.js +0 -17
  114. package/bundles/ngx-ode-ui.umd.min.js.map +0 -1
  115. package/esm2015/lib/components/datepicker/datepicker.component.js +0 -261
  116. package/esm2015/lib/components/dropdown/dropdown.component.js +0 -76
  117. package/esm2015/lib/components/ellipsis/ellipsis.component.js +0 -98
  118. package/esm2015/lib/components/form-errors/form-errors.component.js +0 -65
  119. package/esm2015/lib/components/form-field/form-field.component.js +0 -40
  120. package/esm2015/lib/components/item-tree/item-tree.component.js +0 -289
  121. package/esm2015/lib/components/lightbox/lightbox.component.js +0 -129
  122. package/esm2015/lib/components/lightbox-confirm/lightbox-confirm.component.js +0 -65
  123. package/esm2015/lib/components/list/list.component.js +0 -140
  124. package/esm2015/lib/components/list-checkable/list-checkable.component.js +0 -137
  125. package/esm2015/lib/components/message-box/message-box.component.js +0 -153
  126. package/esm2015/lib/components/message-sticker/message-sticker.component.js +0 -81
  127. package/esm2015/lib/components/mono-select/mono-select.component.js +0 -164
  128. package/esm2015/lib/components/multi-combo/multi-combo.component.js +0 -255
  129. package/esm2015/lib/components/multi-select/multi-select.component.js +0 -214
  130. package/esm2015/lib/components/panel-section/panel-section.component.js +0 -38
  131. package/esm2015/lib/components/portal/portal.component.js +0 -27
  132. package/esm2015/lib/components/push-panel/push-panel.component.js +0 -81
  133. package/esm2015/lib/components/search-input/search-input.component.js +0 -176
  134. package/esm2015/lib/components/search-toolbar/search-toolbar.component.js +0 -84
  135. package/esm2015/lib/components/side-layout/side-layout.component.js +0 -39
  136. package/esm2015/lib/components/side-panel/side-panel.component.js +0 -76
  137. package/esm2015/lib/components/spinner-cube/spinner-cube.component.js +0 -67
  138. package/esm2015/lib/components/table/pager.component.js +0 -95
  139. package/esm2015/lib/components/tooltip/tooltip.component.js +0 -172
  140. package/esm2015/lib/components/upload-files/upload-files.component.js +0 -112
  141. package/esm2015/lib/components/value-editable/simple-select.component.js +0 -57
  142. package/esm2015/lib/components/wizard/wizard.component.js +0 -225
  143. package/esm2015/lib/directives/anchor.directive.js +0 -34
  144. package/esm2015/lib/directives/drag-and-drop-files.directive.js +0 -126
  145. package/esm2015/lib/directives/dynamic-component/component-descriptor.model.js +0 -34
  146. package/esm2015/lib/directives/dynamic-component/dynamic-component.directive.js +0 -100
  147. package/esm2015/lib/directives/dynamictemplate.directive.js +0 -159
  148. package/esm2015/lib/directives/object-url.directive.js +0 -53
  149. package/esm2015/lib/ngx-ode-ui.module.js +0 -188
  150. package/esm2015/lib/pipes/bytes.pipe.js +0 -27
  151. package/esm2015/lib/pipes/filter.pipe.js +0 -141
  152. package/esm2015/lib/pipes/flattenObjArray.pipe.js +0 -52
  153. package/esm2015/lib/pipes/keys.pipe.js +0 -27
  154. package/esm2015/lib/pipes/length.pipe.js +0 -22
  155. package/esm2015/lib/pipes/limit.pipe.js +0 -24
  156. package/esm2015/lib/pipes/localizedDate.pipe.js +0 -44
  157. package/esm2015/lib/pipes/orderBy.pipe.js +0 -269
  158. package/esm2015/lib/pipes/store.pipe.js +0 -24
  159. package/esm2015/lib/services/dynamicModuleImports.service.js +0 -19
  160. package/esm2015/lib/services/inputFile.service.js +0 -80
  161. package/esm2015/lib/services/labels.service.js +0 -54
  162. package/esm2015/lib/services/spinner.service.js +0 -163
  163. package/esm2015/lib/utils/math.js +0 -49
  164. package/esm2015/lib/utils/string.js +0 -29
  165. package/esm2015/lib/utils/testing.js +0 -20
  166. package/esm2015/ngx-ode-ui.js +0 -12
  167. package/esm2015/public-api.js +0 -59
  168. package/esm5/lib/components/datepicker/datepicker.component.js +0 -292
  169. package/esm5/lib/components/dropdown/dropdown.component.js +0 -81
  170. package/esm5/lib/components/ellipsis/ellipsis.component.js +0 -106
  171. package/esm5/lib/components/form-errors/form-errors.component.js +0 -73
  172. package/esm5/lib/components/form-field/form-field.component.js +0 -41
  173. package/esm5/lib/components/item-tree/item-tree.component.js +0 -345
  174. package/esm5/lib/components/lightbox/lightbox.component.js +0 -141
  175. package/esm5/lib/components/lightbox-confirm/lightbox-confirm.component.js +0 -67
  176. package/esm5/lib/components/list/list.component.js +0 -146
  177. package/esm5/lib/components/list-checkable/list-checkable.component.js +0 -148
  178. package/esm5/lib/components/message-box/message-box.component.js +0 -190
  179. package/esm5/lib/components/message-sticker/message-sticker.component.js +0 -92
  180. package/esm5/lib/components/mono-select/mono-select.component.js +0 -192
  181. package/esm5/lib/components/multi-combo/multi-combo.component.js +0 -294
  182. package/esm5/lib/components/multi-select/multi-select.component.js +0 -258
  183. package/esm5/lib/components/panel-section/panel-section.component.js +0 -40
  184. package/esm5/lib/components/portal/portal.component.js +0 -28
  185. package/esm5/lib/components/push-panel/push-panel.component.js +0 -91
  186. package/esm5/lib/components/search-input/search-input.component.js +0 -199
  187. package/esm5/lib/components/search-toolbar/search-toolbar.component.js +0 -93
  188. package/esm5/lib/components/side-layout/side-layout.component.js +0 -41
  189. package/esm5/lib/components/side-panel/side-panel.component.js +0 -85
  190. package/esm5/lib/components/spinner-cube/spinner-cube.component.js +0 -76
  191. package/esm5/lib/components/table/pager.component.js +0 -113
  192. package/esm5/lib/components/tooltip/tooltip.component.js +0 -188
  193. package/esm5/lib/components/upload-files/upload-files.component.js +0 -133
  194. package/esm5/lib/components/value-editable/simple-select.component.js +0 -59
  195. package/esm5/lib/components/wizard/wizard.component.js +0 -161
  196. package/esm5/lib/directives/anchor.directive.js +0 -39
  197. package/esm5/lib/directives/drag-and-drop-files.directive.js +0 -146
  198. package/esm5/lib/directives/dynamic-component/component-descriptor.model.js +0 -44
  199. package/esm5/lib/directives/dynamic-component/dynamic-component.directive.js +0 -109
  200. package/esm5/lib/directives/dynamictemplate.directive.js +0 -175
  201. package/esm5/lib/directives/object-url.directive.js +0 -62
  202. package/esm5/lib/ngx-ode-ui.module.js +0 -199
  203. package/esm5/lib/pipes/bytes.pipe.js +0 -37
  204. package/esm5/lib/pipes/filter.pipe.js +0 -179
  205. package/esm5/lib/pipes/flattenObjArray.pipe.js +0 -62
  206. package/esm5/lib/pipes/keys.pipe.js +0 -36
  207. package/esm5/lib/pipes/length.pipe.js +0 -30
  208. package/esm5/lib/pipes/limit.pipe.js +0 -35
  209. package/esm5/lib/pipes/localizedDate.pipe.js +0 -49
  210. package/esm5/lib/pipes/orderBy.pipe.js +0 -280
  211. package/esm5/lib/pipes/store.pipe.js +0 -35
  212. package/esm5/lib/services/dynamicModuleImports.service.js +0 -21
  213. package/esm5/lib/services/inputFile.service.js +0 -98
  214. package/esm5/lib/services/labels.service.js +0 -68
  215. package/esm5/lib/services/spinner.service.js +0 -195
  216. package/esm5/lib/utils/math.js +0 -49
  217. package/esm5/lib/utils/string.js +0 -29
  218. package/esm5/lib/utils/testing.js +0 -20
  219. package/esm5/ngx-ode-ui.js +0 -12
  220. package/esm5/public-api.js +0 -59
  221. package/fesm2015/ngx-ode-ui.js +0 -5027
  222. package/fesm2015/ngx-ode-ui.js.map +0 -1
  223. package/fesm5/ngx-ode-ui.js +0 -5560
  224. package/fesm5/ngx-ode-ui.js.map +0 -1
  225. package/ngx-ode-ui.d.ts +0 -6
  226. package/ngx-ode-ui.metadata.json +0 -1
@@ -1,126 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/directives/drag-and-drop-files.directive.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
7
- import { InputFileService } from '../services/inputFile.service';
8
- export class DragAndDropFilesDirective {
9
- /**
10
- * @param {?} inputFileService
11
- */
12
- constructor(inputFileService) {
13
- this.inputFileService = inputFileService;
14
- this.allowedExtensions = [];
15
- this.maxFilesNumber = 1;
16
- this.dragAndDrop = new EventEmitter();
17
- this.invalidDragAndDrop = new EventEmitter();
18
- this.backgroundColor = '#fafafa';
19
- this.borderColor = '#ddd';
20
- }
21
- /**
22
- * @param {?} evt
23
- * @return {?}
24
- */
25
- onDragOver(evt) {
26
- if (!this.disabled) {
27
- evt.preventDefault();
28
- evt.stopPropagation();
29
- this.highlightColors();
30
- }
31
- }
32
- /**
33
- * @param {?} evt
34
- * @return {?}
35
- */
36
- onDragLeave(evt) {
37
- if (!this.disabled) {
38
- evt.preventDefault();
39
- evt.stopPropagation();
40
- this.resetColors();
41
- }
42
- }
43
- /**
44
- * @param {?} event
45
- * @return {?}
46
- */
47
- onDrop(event) {
48
- if (!this.disabled) {
49
- event.preventDefault();
50
- event.stopPropagation();
51
- if (event.dataTransfer) {
52
- this.inputFileService
53
- .validateFiles(event.dataTransfer.files, this.maxFilesNumber, this.allowedExtensions)
54
- .subscribe((/**
55
- * @param {?} files
56
- * @return {?}
57
- */
58
- files => this.dragAndDrop.emit(files)), (/**
59
- * @param {?} error
60
- * @return {?}
61
- */
62
- error => this.invalidDragAndDrop.emit(error)));
63
- }
64
- this.resetColors();
65
- }
66
- }
67
- /**
68
- * @private
69
- * @return {?}
70
- */
71
- resetColors() {
72
- this.backgroundColor = '#fafafa';
73
- this.borderColor = '#ddd';
74
- }
75
- /**
76
- * @private
77
- * @return {?}
78
- */
79
- highlightColors() {
80
- this.backgroundColor = '#ffd1b6';
81
- this.borderColor = '#ff8352';
82
- }
83
- }
84
- DragAndDropFilesDirective.decorators = [
85
- { type: Directive, args: [{
86
- selector: '[dragAndDropFiles]'
87
- },] }
88
- ];
89
- /** @nocollapse */
90
- DragAndDropFilesDirective.ctorParameters = () => [
91
- { type: InputFileService }
92
- ];
93
- DragAndDropFilesDirective.propDecorators = {
94
- allowedExtensions: [{ type: Input }],
95
- maxFilesNumber: [{ type: Input }],
96
- disabled: [{ type: Input }],
97
- dragAndDrop: [{ type: Output }],
98
- invalidDragAndDrop: [{ type: Output }],
99
- backgroundColor: [{ type: HostBinding, args: ['style.background',] }],
100
- borderColor: [{ type: HostBinding, args: ['style.border-color',] }],
101
- onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],
102
- onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }],
103
- onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }]
104
- };
105
- if (false) {
106
- /** @type {?} */
107
- DragAndDropFilesDirective.prototype.allowedExtensions;
108
- /** @type {?} */
109
- DragAndDropFilesDirective.prototype.maxFilesNumber;
110
- /** @type {?} */
111
- DragAndDropFilesDirective.prototype.disabled;
112
- /** @type {?} */
113
- DragAndDropFilesDirective.prototype.dragAndDrop;
114
- /** @type {?} */
115
- DragAndDropFilesDirective.prototype.invalidDragAndDrop;
116
- /** @type {?} */
117
- DragAndDropFilesDirective.prototype.backgroundColor;
118
- /** @type {?} */
119
- DragAndDropFilesDirective.prototype.borderColor;
120
- /**
121
- * @type {?}
122
- * @private
123
- */
124
- DragAndDropFilesDirective.prototype.inputFileService;
125
- }
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1maWxlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZHJhZy1hbmQtZHJvcC1maWxlcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFLL0QsTUFBTSxPQUFPLHlCQUF5Qjs7OztJQWtCbEMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFoQnRELHNCQUFpQixHQUFrQixFQUFFLENBQUM7UUFFdEMsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFLbkIsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2RCx1QkFBa0IsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd2RCxvQkFBZSxHQUFHLFNBQVMsQ0FBQztRQUU1QixnQkFBVyxHQUFHLE1BQU0sQ0FBQztJQUc1QixDQUFDOzs7OztJQUdNLFVBQVUsQ0FBQyxHQUFHO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyQixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQzs7Ozs7SUFHTSxXQUFXLENBQUMsR0FBRztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDckIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QjtJQUNMLENBQUM7Ozs7O0lBR00sTUFBTSxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXhCLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtnQkFDcEIsSUFBSSxDQUFDLGdCQUFnQjtxQkFDaEIsYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDO3FCQUNwRixTQUFTOzs7O2dCQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDOzs7O2dCQUMxQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQzthQUMzRDtZQUVELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QjtJQUNMLENBQUM7Ozs7O0lBRU8sV0FBVztRQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO0lBQzlCLENBQUM7Ozs7O0lBRU8sZUFBZTtRQUNuQixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUNqQyxDQUFDOzs7WUFuRUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxvQkFBb0I7YUFDakM7Ozs7WUFKTyxnQkFBZ0I7OztnQ0FNbkIsS0FBSzs2QkFFTCxLQUFLO3VCQUVMLEtBQUs7MEJBR0wsTUFBTTtpQ0FFTixNQUFNOzhCQUdOLFdBQVcsU0FBQyxrQkFBa0I7MEJBRTlCLFdBQVcsU0FBQyxvQkFBb0I7eUJBTWhDLFlBQVksU0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7MEJBU25DLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7cUJBU3BDLFlBQVksU0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Ozs7SUF0Q2hDLHNEQUNzQzs7SUFDdEMsbURBQ21COztJQUNuQiw2Q0FDa0I7O0lBRWxCLGdEQUN1RDs7SUFDdkQsdURBQzhEOztJQUU5RCxvREFDbUM7O0lBQ25DLGdEQUM0Qjs7Ozs7SUFFaEIscURBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lucHV0RmlsZVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2lucHV0RmlsZS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZHJhZ0FuZERyb3BGaWxlc10nXG59KVxuZXhwb3J0IGNsYXNzIERyYWdBbmREcm9wRmlsZXNEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dlZEV4dGVuc2lvbnM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIG1heEZpbGVzTnVtYmVyID0gMTtcbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZHJhZ0FuZERyb3A6IEV2ZW50RW1pdHRlcjxGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKVxuICAgIGludmFsaWREcmFnQW5kRHJvcDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmQnKVxuICAgIHB1YmxpYyBiYWNrZ3JvdW5kQ29sb3IgPSAnI2ZhZmFmYSc7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5ib3JkZXItY29sb3InKVxuICAgIHB1YmxpYyBib3JkZXJDb2xvciA9ICcjZGRkJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5wdXRGaWxlU2VydmljZTogSW5wdXRGaWxlU2VydmljZSkge1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25EcmFnT3ZlcihldnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuaGlnaGxpZ2h0Q29sb3JzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkRyYWdMZWF2ZShldnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMucmVzZXRDb2xvcnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIGlmIChldmVudC5kYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0RmlsZVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLnZhbGlkYXRlRmlsZXMoZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLCB0aGlzLm1heEZpbGVzTnVtYmVyLCB0aGlzLmFsbG93ZWRFeHRlbnNpb25zKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGZpbGVzID0+IHRoaXMuZHJhZ0FuZERyb3AuZW1pdChmaWxlcylcbiAgICAgICAgICAgICAgICAgICAgICAgICwgZXJyb3IgPT4gdGhpcy5pbnZhbGlkRHJhZ0FuZERyb3AuZW1pdChlcnJvcikpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJlc2V0Q29sb3JzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Q29sb3JzKCkge1xuICAgICAgICB0aGlzLmJhY2tncm91bmRDb2xvciA9ICcjZmFmYWZhJztcbiAgICAgICAgdGhpcy5ib3JkZXJDb2xvciA9ICcjZGRkJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZ2hsaWdodENvbG9ycygpIHtcbiAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSAnI2ZmZDFiNic7XG4gICAgICAgIHRoaXMuYm9yZGVyQ29sb3IgPSAnI2ZmODM1Mic7XG4gICAgfVxufVxuIl19
@@ -1,34 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/directives/dynamic-component/component-descriptor.model.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- /**
7
- * Usefull to desccribe (type and input data) a component
8
- * that will be dynamically instanciate
9
- */
10
- export class ComponentDescriptor {
11
- /**
12
- * @param {?} type
13
- * @param {?} data
14
- */
15
- constructor(type, data) {
16
- this.type = type;
17
- this.data = data;
18
- }
19
- /**
20
- * @param {?} data
21
- * @return {?}
22
- */
23
- assignData(data) {
24
- Object.assign(this.data, data);
25
- return this;
26
- }
27
- }
28
- if (false) {
29
- /** @type {?} */
30
- ComponentDescriptor.prototype.type;
31
- /** @type {?} */
32
- ComponentDescriptor.prototype.data;
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWRlc2NyaXB0b3IubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZHluYW1pYy1jb21wb25lbnQvY29tcG9uZW50LWRlc2NyaXB0b3IubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBTUEsTUFBTSxPQUFPLG1CQUFtQjs7Ozs7SUFDN0IsWUFDVyxJQUFlLEVBQ2YsSUFBUztRQURULFNBQUksR0FBSixJQUFJLENBQVc7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFLO0lBQ2pCLENBQUM7Ozs7O0lBRUosVUFBVSxDQUFDLElBQVM7UUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSDs7O0lBUk0sbUNBQXNCOztJQUN0QixtQ0FBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiogVXNlZnVsbCB0byBkZXNjY3JpYmUgKHR5cGUgYW5kIGlucHV0IGRhdGEpIGEgY29tcG9uZW50XG4qIHRoYXQgd2lsbCBiZSBkeW5hbWljYWxseSBpbnN0YW5jaWF0ZVxuKi9cbmV4cG9ydCBjbGFzcyBDb21wb25lbnREZXNjcmlwdG9yIHtcbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgIHB1YmxpYyB0eXBlOiBUeXBlPGFueT4sXG4gICAgICAgcHVibGljIGRhdGE6IGFueVxuICAgKSB7fVxuXG4gICBhc3NpZ25EYXRhKGRhdGE6IGFueSk6IENvbXBvbmVudERlc2NyaXB0b3Ige1xuICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5kYXRhLCBkYXRhKTtcbiAgICAgICByZXR1cm4gdGhpcztcbiAgIH1cbn1cbiJdfQ==
@@ -1,100 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/directives/dynamic-component/dynamic-component.directive.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { ComponentFactoryResolver, Directive, Input, ViewContainerRef, } from '@angular/core';
7
- import { ComponentDescriptor } from './component-descriptor.model';
8
- /**
9
- * Dynamically load the component describe with the \@input dynamic-component
10
- */
11
- export class DynamicComponentDirective {
12
- /**
13
- * @param {?} viewContainerRef
14
- * @param {?} componentFactoryResolver
15
- */
16
- constructor(viewContainerRef, componentFactoryResolver) {
17
- this.viewContainerRef = viewContainerRef;
18
- this.componentFactoryResolver = componentFactoryResolver;
19
- }
20
- /**
21
- * @param {?=} data
22
- * @return {?}
23
- */
24
- load(data) {
25
- if (this.isLoaded()) {
26
- return;
27
- }
28
- /** @type {?} */
29
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.componentDesc.type);
30
- this.viewContainerRef.clear();
31
- this.componentRef = this.viewContainerRef.createComponent(componentFactory);
32
- if (data != undefined) {
33
- this.componentDesc.assignData(data);
34
- }
35
- for (const attribute in this.componentDesc.data) {
36
- this.componentRef.instance[attribute] = this.componentDesc.data[attribute];
37
- if (attribute == 'hideEvent') {
38
- this.componentRef.instance.hideEvent.subscribe((/**
39
- * @param {?} e
40
- * @return {?}
41
- */
42
- e => {
43
- this.destroy();
44
- }));
45
- }
46
- }
47
- }
48
- /**
49
- * @return {?}
50
- */
51
- isLoaded() {
52
- if (this.componentRef == undefined) {
53
- return false;
54
- }
55
- else {
56
- return this.componentRef.instance != null;
57
- }
58
- }
59
- /**
60
- * @return {?}
61
- */
62
- destroy() {
63
- if (this.componentRef.instance.hideEvent != undefined) {
64
- this.componentRef.instance.hideEvent.unsubscribe();
65
- }
66
- // FIXME: this.componentRef.destroy(); => This one usually should work, better to use but do nothing...
67
- delete this.componentRef;
68
- this.viewContainerRef.clear();
69
- }
70
- }
71
- DynamicComponentDirective.decorators = [
72
- { type: Directive, args: [{
73
- selector: '[dynamic-component]',
74
- },] }
75
- ];
76
- /** @nocollapse */
77
- DynamicComponentDirective.ctorParameters = () => [
78
- { type: ViewContainerRef },
79
- { type: ComponentFactoryResolver }
80
- ];
81
- DynamicComponentDirective.propDecorators = {
82
- componentDesc: [{ type: Input, args: ['dynamic-component',] }]
83
- };
84
- if (false) {
85
- /** @type {?} */
86
- DynamicComponentDirective.prototype.componentRef;
87
- /** @type {?} */
88
- DynamicComponentDirective.prototype.componentDesc;
89
- /**
90
- * @type {?}
91
- * @private
92
- */
93
- DynamicComponentDirective.prototype.viewContainerRef;
94
- /**
95
- * @type {?}
96
- * @private
97
- */
98
- DynamicComponentDirective.prototype.componentFactoryResolver;
99
- }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2R5bmFtaWMtY29tcG9uZW50L2R5bmFtaWMtY29tcG9uZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBZ0IsU0FBUyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsR0FBRyxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQVFqRSxNQUFNLE9BQU8seUJBQXlCOzs7OztJQUNsQyxZQUNZLGdCQUFrQyxFQUNsQyx3QkFBa0Q7UUFEbEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQzNELENBQUM7Ozs7O0lBT0osSUFBSSxDQUFDLElBQVU7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUFFLE9BQU87U0FBRTs7Y0FDMUIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ3ZHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU1RSxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7UUFDRCxLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFO1lBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNFLElBQUksU0FBUyxJQUFJLFdBQVcsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVM7Ozs7Z0JBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbkIsQ0FBQyxFQUFDLENBQUM7YUFDTjtTQUNKO0lBQ0wsQ0FBQzs7OztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksU0FBUyxFQUFFO1lBQ2hDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2FBQ0k7WUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztTQUM3QztJQUNMLENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUksU0FBUyxFQUFFO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0RDtRQUNELHVHQUF1RztRQUN2RyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7OztZQWpESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjthQUNsQzs7OztZQVJpRSxnQkFBZ0I7WUFBMUUsd0JBQXdCOzs7NEJBaUIzQixLQUFLLFNBQUMsbUJBQW1COzs7O0lBRjFCLGlEQUF1Qzs7SUFFdkMsa0RBQ21DOzs7OztJQVAvQixxREFBMEM7Ozs7O0lBQzFDLDZEQUEwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudERlc2NyaXB0b3J9IGZyb20gJy4vY29tcG9uZW50LWRlc2NyaXB0b3IubW9kZWwnO1xuXG4vKipcbiogRHluYW1pY2FsbHkgbG9hZCB0aGUgY29tcG9uZW50IGRlc2NyaWJlIHdpdGggdGhlIEBpbnB1dCBkeW5hbWljLWNvbXBvbmVudFxuKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2R5bmFtaWMtY29tcG9uZW50XScsXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnREaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcblxuICAgIEBJbnB1dCgnZHluYW1pYy1jb21wb25lbnQnKVxuICAgIGNvbXBvbmVudERlc2M6IENvbXBvbmVudERlc2NyaXB0b3I7XG5cbiAgICBsb2FkKGRhdGE/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNMb2FkZWQoKSkgeyByZXR1cm47IH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuY29tcG9uZW50RGVzYy50eXBlKTtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcblxuICAgICAgICBpZiAoZGF0YSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50RGVzYy5hc3NpZ25EYXRhKGRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlIGluIHRoaXMuY29tcG9uZW50RGVzYy5kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZVthdHRyaWJ1dGVdID0gdGhpcy5jb21wb25lbnREZXNjLmRhdGFbYXR0cmlidXRlXTtcbiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGUgPT0gJ2hpZGVFdmVudCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5oaWRlRXZlbnQuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzTG9hZGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UgIT0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5oaWRlRXZlbnQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5oaWRlRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBGSVhNRTogdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpOyA9PiBUaGlzIG9uZSB1c3VhbGx5IHNob3VsZCB3b3JrLCBiZXR0ZXIgdG8gdXNlIGJ1dCBkbyBub3RoaW5nLi4uXG4gICAgICAgIGRlbGV0ZSB0aGlzLmNvbXBvbmVudFJlZjtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgfVxufVxuXG5cblxuIl19
@@ -1,159 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/directives/dynamictemplate.directive.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Compiler, Component, Directive, ElementRef, Input, NgModule, Injector, ViewContainerRef } from '@angular/core';
7
- import { CommonModule } from '@angular/common';
8
- import { DynamicModuleImportsService } from '../services/dynamicModuleImports.service';
9
- export class DynamicTemplateDirective {
10
- /**
11
- * @param {?} elementRef
12
- * @param {?} viewContainer
13
- * @param {?} compiler
14
- * @param {?} dynamicModuleImports
15
- */
16
- constructor(elementRef, viewContainer, compiler, dynamicModuleImports) {
17
- this.elementRef = elementRef;
18
- this.viewContainer = viewContainer;
19
- this.compiler = compiler;
20
- this.dynamicModuleImports = dynamicModuleImports;
21
- this._html = '';
22
- this._selector = 'dynamic-view';
23
- }
24
- /**
25
- * @param {?} html
26
- * @return {?}
27
- */
28
- set templateContents(html) {
29
- if (html) {
30
- this._html = html;
31
- /** @type {?} */
32
- const cmpType = this._createDynamicComponent();
33
- /** @type {?} */
34
- const moduleType = this._createDynamicModule(cmpType);
35
- /** @type {?} */
36
- const injector = Injector.create({
37
- providers: [],
38
- parent: this.viewContainer.parentInjector,
39
- });
40
- this.compiler.compileModuleAndAllComponentsAsync(moduleType)
41
- .then((/**
42
- * @param {?} factory
43
- * @return {?}
44
- */
45
- factory => {
46
- /** @type {?} */
47
- let cmpFactory;
48
- for (let i = factory.componentFactories.length - 1; i >= 0; i--) {
49
- if (factory.componentFactories[i].selector === this._selector) {
50
- cmpFactory = factory.componentFactories[i];
51
- break;
52
- }
53
- }
54
- return cmpFactory;
55
- }))
56
- .then((/**
57
- * @param {?} cmpFactory
58
- * @return {?}
59
- */
60
- cmpFactory => {
61
- if (cmpFactory && this.viewContainer) {
62
- this.viewContainer.clear();
63
- this.viewContainer.createComponent(cmpFactory, 0, injector);
64
- }
65
- }));
66
- }
67
- else {
68
- this._html = '';
69
- this.viewContainer.clear();
70
- }
71
- }
72
- /**
73
- * @private
74
- * @return {?}
75
- */
76
- _createDynamicComponent() {
77
- /** @type {?} */
78
- const metadata = {
79
- selector: this._selector,
80
- template: this._html,
81
- inputs: ['template']
82
- };
83
- class _cmp_ {
84
- }
85
- _cmp_.prototype = this.context;
86
- return Component(metadata)(_cmp_);
87
- }
88
- /**
89
- * @private
90
- * @param {?} componentType
91
- * @return {?}
92
- */
93
- _createDynamicModule(componentType) {
94
- class _mod_ {
95
- }
96
- return NgModule({
97
- imports: [
98
- CommonModule,
99
- ...this.dynamicModuleImports.imports
100
- ],
101
- declarations: [componentType],
102
- providers: []
103
- })(_mod_);
104
- }
105
- }
106
- DynamicTemplateDirective.decorators = [
107
- { type: Directive, args: [{
108
- selector: 'dynamic-template'
109
- },] }
110
- ];
111
- /** @nocollapse */
112
- DynamicTemplateDirective.ctorParameters = () => [
113
- { type: ElementRef },
114
- { type: ViewContainerRef },
115
- { type: Compiler },
116
- { type: DynamicModuleImportsService }
117
- ];
118
- DynamicTemplateDirective.propDecorators = {
119
- templateContents: [{ type: Input, args: ['template',] }],
120
- context: [{ type: Input }]
121
- };
122
- if (false) {
123
- /**
124
- * @type {?}
125
- * @private
126
- */
127
- DynamicTemplateDirective.prototype._html;
128
- /**
129
- * @type {?}
130
- * @private
131
- */
132
- DynamicTemplateDirective.prototype._selector;
133
- /**
134
- * @type {?}
135
- * @private
136
- */
137
- DynamicTemplateDirective.prototype.context;
138
- /**
139
- * @type {?}
140
- * @private
141
- */
142
- DynamicTemplateDirective.prototype.elementRef;
143
- /**
144
- * @type {?}
145
- * @private
146
- */
147
- DynamicTemplateDirective.prototype.viewContainer;
148
- /**
149
- * @type {?}
150
- * @private
151
- */
152
- DynamicTemplateDirective.prototype.compiler;
153
- /**
154
- * @type {?}
155
- * @private
156
- */
157
- DynamicTemplateDirective.prototype.dynamicModuleImports;
158
- }
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pY3RlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1vZGUtdWkvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9keW5hbWljdGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBUSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU1SCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFLckYsTUFBTSxPQUFPLHdCQUF3Qjs7Ozs7OztJQUVqQyxZQUNZLFVBQXNCLEVBQ3RCLGFBQStCLEVBQy9CLFFBQWtCLEVBQ2xCLG9CQUFpRDtRQUhqRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBNkI7UUFxQ3JELFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxjQUFTLEdBQUcsY0FBYyxDQUFDO0lBckNoQyxDQUFDOzs7OztJQUVKLElBQ0ksZ0JBQWdCLENBQUMsSUFBWTtRQUM3QixJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOztrQkFDWixPQUFPLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFOztrQkFDeEMsVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7O2tCQUMvQyxRQUFRLEdBQWEsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDdkMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYzthQUM1QyxDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQ0FBa0MsQ0FBTSxVQUFVLENBQUM7aUJBQzVELElBQUk7Ozs7WUFBQyxPQUFPLENBQUMsRUFBRTs7b0JBQ1IsVUFBZTtnQkFDbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUM3RCxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTt3QkFDM0QsVUFBVSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDM0MsTUFBTTtxQkFDVDtpQkFDSjtnQkFDRCxPQUFPLFVBQVUsQ0FBQztZQUN0QixDQUFDLEVBQUM7aUJBQ0QsSUFBSTs7OztZQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNmLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7aUJBQy9EO1lBQ0wsQ0FBQyxFQUFDLENBQUM7U0FDVjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7Ozs7O0lBT08sdUJBQXVCOztjQUNyQixRQUFRLEdBQUc7WUFDYixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3BCLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUN2QjtRQUNELE1BQU0sS0FBSztTQUFHO1FBQ2QsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQy9CLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Ozs7OztJQUVPLG9CQUFvQixDQUFDLGFBQXdCO1FBQ2pELE1BQU0sS0FBSztTQUFHO1FBQ2QsT0FBTyxRQUFRLENBQUM7WUFDWixPQUFPLEVBQUU7Z0JBQ0wsWUFBWTtnQkFDWixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPO2FBQUU7WUFDMUMsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQzdCLFNBQVMsRUFBRSxFQUFFO1NBQ2hCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUM7OztZQXZFSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjthQUMvQjs7OztZQVB1QyxVQUFVO1lBQW1DLGdCQUFnQjtZQUE3RixRQUFRO1lBR1IsMkJBQTJCOzs7K0JBYzlCLEtBQUssU0FBQyxVQUFVO3NCQXFDaEIsS0FBSzs7Ozs7OztJQUhOLHlDQUFtQjs7Ozs7SUFDbkIsNkNBQW1DOzs7OztJQUVuQywyQ0FBaUM7Ozs7O0lBM0M3Qiw4Q0FBOEI7Ozs7O0lBQzlCLGlEQUF1Qzs7Ozs7SUFDdkMsNENBQTBCOzs7OztJQUMxQix3REFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBpbGVyLCBDb21wb25lbnQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE5nTW9kdWxlLCBJbmplY3RvciwgVHlwZSwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtEeW5hbWljTW9kdWxlSW1wb3J0c1NlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2R5bmFtaWNNb2R1bGVJbXBvcnRzLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2R5bmFtaWMtdGVtcGxhdGUnXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNUZW1wbGF0ZURpcmVjdGl2ZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxuICAgICAgICBwcml2YXRlIGR5bmFtaWNNb2R1bGVJbXBvcnRzOiBEeW5hbWljTW9kdWxlSW1wb3J0c1NlcnZpY2VcbiAgICApIHt9XG5cbiAgICBASW5wdXQoJ3RlbXBsYXRlJylcbiAgICBzZXQgdGVtcGxhdGVDb250ZW50cyhodG1sOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGh0bWwpIHtcbiAgICAgICAgICAgIHRoaXMuX2h0bWwgPSBodG1sO1xuICAgICAgICAgICAgY29uc3QgY21wVHlwZSA9IHRoaXMuX2NyZWF0ZUR5bmFtaWNDb21wb25lbnQoKTtcbiAgICAgICAgICAgIGNvbnN0IG1vZHVsZVR5cGUgPSB0aGlzLl9jcmVhdGVEeW5hbWljTW9kdWxlKGNtcFR5cGUpO1xuICAgICAgICAgICAgY29uc3QgaW5qZWN0b3I6IEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBwcm92aWRlcnM6IFtdLFxuICAgICAgICAgICAgICAgIHBhcmVudDogdGhpcy52aWV3Q29udGFpbmVyLnBhcmVudEluamVjdG9yLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNBc3luYzxhbnk+KG1vZHVsZVR5cGUpXG4gICAgICAgICAgICAgICAgLnRoZW4oZmFjdG9yeSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjbXBGYWN0b3J5OiBhbnk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSBmYWN0b3J5LmNvbXBvbmVudEZhY3Rvcmllcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhY3RvcnkuY29tcG9uZW50RmFjdG9yaWVzW2ldLnNlbGVjdG9yID09PSB0aGlzLl9zZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtcEZhY3RvcnkgPSBmYWN0b3J5LmNvbXBvbmVudEZhY3Rvcmllc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY21wRmFjdG9yeTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKGNtcEZhY3RvcnkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY21wRmFjdG9yeSAmJiB0aGlzLnZpZXdDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjbXBGYWN0b3J5LCAwLCBpbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2h0bWwgPSAnJztcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaHRtbCA9ICcnO1xuICAgIHByaXZhdGUgX3NlbGVjdG9yID0gJ2R5bmFtaWMtdmlldyc7XG5cbiAgICBASW5wdXQoKSBwcml2YXRlIGNvbnRleHQ6IE9iamVjdDtcblxuICAgIHByaXZhdGUgX2NyZWF0ZUR5bmFtaWNDb21wb25lbnQoKTogVHlwZTxhbnk+IHtcbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB7XG4gICAgICAgICAgICBzZWxlY3RvcjogdGhpcy5fc2VsZWN0b3IsXG4gICAgICAgICAgICB0ZW1wbGF0ZTogdGhpcy5faHRtbCxcbiAgICAgICAgICAgIGlucHV0czogWyd0ZW1wbGF0ZSddXG4gICAgICAgIH07XG4gICAgICAgIGNsYXNzIF9jbXBfIHt9XG4gICAgICAgIF9jbXBfLnByb3RvdHlwZSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgcmV0dXJuIENvbXBvbmVudChtZXRhZGF0YSkoX2NtcF8pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZUR5bmFtaWNNb2R1bGUoY29tcG9uZW50VHlwZTogVHlwZTxhbnk+KSB7XG4gICAgICAgIGNsYXNzIF9tb2RfIHt9XG4gICAgICAgIHJldHVybiBOZ01vZHVsZSh7XG4gICAgICAgICAgICBpbXBvcnRzOiBbXG4gICAgICAgICAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICAgICAgICAgIC4uLnRoaXMuZHluYW1pY01vZHVsZUltcG9ydHMuaW1wb3J0cyBdLFxuICAgICAgICAgICAgZGVjbGFyYXRpb25zOiBbY29tcG9uZW50VHlwZV0sXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtdXG4gICAgICAgIH0pKF9tb2RfKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,53 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/directives/object-url.directive.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Directive, ElementRef } from '@angular/core';
7
- /**
8
- *
9
- * see https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
10
- */
11
- export class ObjectURLDirective {
12
- /**
13
- * @param {?} elementRef
14
- */
15
- constructor(elementRef) {
16
- this.elementRef = elementRef;
17
- }
18
- // TODO provide more specific method like createJSON, createCSV, createPDF
19
- // to free directive consumer from using Blog API
20
- /**
21
- * @param {?} blob
22
- * @param {?} filename
23
- * @return {?}
24
- */
25
- create(blob, filename) {
26
- if (this.objectURL !== null) {
27
- window.URL.revokeObjectURL(this.objectURL);
28
- }
29
- this.objectURL = window.URL.createObjectURL(blob);
30
- this.elementRef.nativeElement.href = this.objectURL;
31
- this.elementRef.nativeElement.download = filename;
32
- }
33
- }
34
- ObjectURLDirective.decorators = [
35
- { type: Directive, args: [{ selector: '[object-url]' },] }
36
- ];
37
- /** @nocollapse */
38
- ObjectURLDirective.ctorParameters = () => [
39
- { type: ElementRef }
40
- ];
41
- if (false) {
42
- /**
43
- * @type {?}
44
- * @private
45
- */
46
- ObjectURLDirective.prototype.objectURL;
47
- /**
48
- * @type {?}
49
- * @private
50
- */
51
- ObjectURLDirective.prototype.elementRef;
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXVybC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvb2JqZWN0LXVybC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPcEQsTUFBTSxPQUFPLGtCQUFrQjs7OztJQUUzQixZQUNZLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDL0IsQ0FBQzs7Ozs7Ozs7SUFNSixNQUFNLENBQUMsSUFBVSxFQUFFLFFBQWdCO1FBQy9CLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFDekIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ3RELENBQUM7OztZQWxCSixTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFOzs7O1lBTnBCLFVBQVU7Ozs7Ozs7SUFhekIsdUNBQWtCOzs7OztJQUhkLHdDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4qXG4qIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvVVJML2NyZWF0ZU9iamVjdFVSTFxuKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tvYmplY3QtdXJsXScgfSlcbmV4cG9ydCBjbGFzcyBPYmplY3RVUkxEaXJlY3RpdmUge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIG9iamVjdFVSTDtcblxuICAgIC8vIFRPRE8gcHJvdmlkZSBtb3JlIHNwZWNpZmljIG1ldGhvZCBsaWtlIGNyZWF0ZUpTT04sIGNyZWF0ZUNTViwgY3JlYXRlUERGXG4gICAgLy8gdG8gZnJlZSBkaXJlY3RpdmUgY29uc3VtZXIgZnJvbSB1c2luZyBCbG9nIEFQSVxuICAgIGNyZWF0ZShibG9iOiBCbG9iLCBmaWxlbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9iamVjdFVSTCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodGhpcy5vYmplY3RVUkwpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub2JqZWN0VVJMID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmhyZWYgPSB0aGlzLm9iamVjdFVSTDtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZG93bmxvYWQgPSBmaWxlbmFtZTtcbiAgICB9XG5cbn1cbiJdfQ==