@ajf/material 13.0.0-next.9 → 13.0.0

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 (235) hide show
  1. package/{report-builder/index.d.ts → barcode/barcode_public_index.d.ts} +1 -1
  2. package/barcode/index.d.ts +19 -1
  3. package/barcode/package.json +2 -2
  4. package/calendar/calendar_public_index.d.ts +4 -0
  5. package/calendar/index.d.ts +19 -1
  6. package/calendar/package.json +2 -2
  7. package/checkbox-group/checkbox-group_public_index.d.ts +4 -0
  8. package/checkbox-group/index.d.ts +19 -1
  9. package/checkbox-group/package.json +2 -2
  10. package/esm2020/barcode/barcode-module.mjs +7 -11
  11. package/esm2020/barcode/barcode.mjs +6 -6
  12. package/esm2020/barcode/barcode_public_index.mjs +5 -0
  13. package/esm2020/barcode/index.mjs +20 -2
  14. package/esm2020/calendar/calendar-module.mjs +8 -28
  15. package/esm2020/calendar/calendar.mjs +7 -11
  16. package/esm2020/calendar/calendar_public_index.mjs +5 -0
  17. package/esm2020/calendar/index.mjs +20 -2
  18. package/esm2020/checkbox-group/checkbox-group-item.mjs +6 -6
  19. package/esm2020/checkbox-group/checkbox-group-module.mjs +8 -27
  20. package/esm2020/checkbox-group/checkbox-group_public_index.mjs +5 -0
  21. package/esm2020/checkbox-group/index.mjs +20 -2
  22. package/esm2020/form-builder/branch-line.mjs +5 -5
  23. package/esm2020/form-builder/choices-origin-data-source.mjs +1 -1
  24. package/esm2020/form-builder/choices-origin-editor-dialog.mjs +10 -7
  25. package/esm2020/form-builder/choices-origin-editor.mjs +4 -4
  26. package/esm2020/form-builder/condition-editor-dialog.mjs +4 -4
  27. package/esm2020/form-builder/condition-editor.mjs +12 -11
  28. package/esm2020/form-builder/form-builder-module.mjs +85 -34
  29. package/esm2020/form-builder/form-builder-service.mjs +135 -128
  30. package/esm2020/form-builder/form-builder-utils.mjs +4 -3
  31. package/esm2020/form-builder/form-builder.mjs +33 -29
  32. package/esm2020/form-builder/form-builder_public_index.mjs +5 -0
  33. package/esm2020/form-builder/index.mjs +20 -2
  34. package/esm2020/form-builder/node-entry.mjs +10 -8
  35. package/esm2020/form-builder/node-properties.mjs +320 -315
  36. package/esm2020/form-builder/node-type-entry.mjs +5 -5
  37. package/esm2020/form-builder/string-identifier-dialog.mjs +8 -10
  38. package/esm2020/form-builder/validation-condition-editor-dialog.mjs +4 -4
  39. package/esm2020/form-builder/warning-condition-editor-dialog.mjs +4 -4
  40. package/esm2020/forms/barcode-field.mjs +6 -6
  41. package/esm2020/forms/boolean-field.mjs +6 -6
  42. package/esm2020/forms/date-field.mjs +5 -5
  43. package/esm2020/forms/date-input-field.mjs +6 -6
  44. package/esm2020/forms/empty-field.mjs +6 -6
  45. package/esm2020/forms/field-service.mjs +45 -45
  46. package/esm2020/forms/field-warning-dialog.mjs +4 -4
  47. package/esm2020/forms/field.mjs +5 -5
  48. package/esm2020/forms/form.mjs +5 -5
  49. package/esm2020/forms/forms-module.mjs +119 -43
  50. package/esm2020/forms/forms_public_index.mjs +5 -0
  51. package/esm2020/forms/index.mjs +20 -2
  52. package/esm2020/forms/input-field.mjs +5 -5
  53. package/esm2020/forms/multiple-choice-field.mjs +6 -6
  54. package/esm2020/forms/range-field.mjs +6 -6
  55. package/esm2020/forms/single-choice-field.mjs +6 -6
  56. package/esm2020/forms/table-field.mjs +6 -6
  57. package/esm2020/forms/text-field.mjs +5 -5
  58. package/esm2020/forms/time-field.mjs +6 -6
  59. package/esm2020/forms/video-url-field.mjs +5 -5
  60. package/esm2020/forms/warning-alert-service.mjs +4 -4
  61. package/esm2020/image/image-module.mjs +8 -19
  62. package/esm2020/image/image.mjs +5 -5
  63. package/esm2020/image/image_public_index.mjs +5 -0
  64. package/esm2020/image/index.mjs +20 -2
  65. package/esm2020/monaco-editor/autocomplete-singleton-model.mjs +3 -2
  66. package/esm2020/monaco-editor/editor-options-model.mjs +1 -1
  67. package/esm2020/monaco-editor/index.mjs +20 -2
  68. package/esm2020/monaco-editor/monaco-editor-module.mjs +7 -11
  69. package/esm2020/monaco-editor/monaco-editor.mjs +6 -6
  70. package/esm2020/monaco-editor/monaco-editor_public_index.mjs +5 -0
  71. package/esm2020/node-icon/index.mjs +20 -2
  72. package/esm2020/node-icon/node-icon-module.mjs +8 -19
  73. package/esm2020/node-icon/node-icon.mjs +4 -4
  74. package/esm2020/node-icon/node-icon_public_index.mjs +5 -0
  75. package/esm2020/page-slider/index.mjs +20 -2
  76. package/esm2020/page-slider/page-slider-module.mjs +8 -14
  77. package/esm2020/page-slider/page-slider.mjs +5 -5
  78. package/esm2020/page-slider/page-slider_public_index.mjs +5 -0
  79. package/esm2020/reports/chart-widget.mjs +5 -5
  80. package/esm2020/reports/filter-widget.mjs +71 -0
  81. package/esm2020/reports/formula-widget.mjs +5 -5
  82. package/esm2020/reports/image-container-widget.mjs +5 -5
  83. package/esm2020/reports/image-widget.mjs +5 -5
  84. package/esm2020/reports/index.mjs +20 -2
  85. package/esm2020/reports/map-widget.mjs +5 -5
  86. package/esm2020/reports/page-break-widget.mjs +5 -5
  87. package/esm2020/reports/public-api.mjs +2 -1
  88. package/esm2020/reports/report.mjs +5 -5
  89. package/esm2020/reports/reports-module.mjs +15 -12
  90. package/esm2020/reports/reports_public_index.mjs +5 -0
  91. package/esm2020/reports/table-widget.mjs +6 -6
  92. package/esm2020/reports/text-widget.mjs +5 -5
  93. package/esm2020/reports/widget.mjs +19 -16
  94. package/esm2020/time/index.mjs +20 -2
  95. package/esm2020/time/time-module.mjs +8 -22
  96. package/esm2020/time/time.mjs +6 -6
  97. package/esm2020/time/time_public_index.mjs +5 -0
  98. package/fesm2015/barcode.mjs +32 -14
  99. package/fesm2015/barcode.mjs.map +1 -1
  100. package/fesm2015/calendar.mjs +34 -36
  101. package/fesm2015/calendar.mjs.map +1 -1
  102. package/fesm2015/checkbox-group.mjs +33 -30
  103. package/fesm2015/checkbox-group.mjs.map +1 -1
  104. package/fesm2015/form-builder.mjs +638 -544
  105. package/fesm2015/form-builder.mjs.map +1 -1
  106. package/fesm2015/forms.mjs +235 -137
  107. package/fesm2015/forms.mjs.map +1 -1
  108. package/fesm2015/image.mjs +32 -21
  109. package/fesm2015/image.mjs.map +1 -1
  110. package/fesm2015/monaco-editor.mjs +34 -15
  111. package/fesm2015/monaco-editor.mjs.map +1 -1
  112. package/fesm2015/node-icon.mjs +32 -21
  113. package/fesm2015/node-icon.mjs.map +1 -1
  114. package/fesm2015/page-slider.mjs +32 -16
  115. package/fesm2015/page-slider.mjs.map +1 -1
  116. package/fesm2015/reports.mjs +156 -66
  117. package/fesm2015/reports.mjs.map +1 -1
  118. package/fesm2015/time.mjs +33 -25
  119. package/fesm2015/time.mjs.map +1 -1
  120. package/fesm2020/barcode.mjs +32 -14
  121. package/fesm2020/barcode.mjs.map +1 -1
  122. package/fesm2020/calendar.mjs +34 -36
  123. package/fesm2020/calendar.mjs.map +1 -1
  124. package/fesm2020/checkbox-group.mjs +33 -30
  125. package/fesm2020/checkbox-group.mjs.map +1 -1
  126. package/fesm2020/form-builder.mjs +638 -544
  127. package/fesm2020/form-builder.mjs.map +1 -1
  128. package/fesm2020/forms.mjs +235 -137
  129. package/fesm2020/forms.mjs.map +1 -1
  130. package/fesm2020/image.mjs +32 -21
  131. package/fesm2020/image.mjs.map +1 -1
  132. package/fesm2020/monaco-editor.mjs +34 -15
  133. package/fesm2020/monaco-editor.mjs.map +1 -1
  134. package/fesm2020/node-icon.mjs +32 -21
  135. package/fesm2020/node-icon.mjs.map +1 -1
  136. package/fesm2020/page-slider.mjs +32 -16
  137. package/fesm2020/page-slider.mjs.map +1 -1
  138. package/fesm2020/reports.mjs +156 -66
  139. package/fesm2020/reports.mjs.map +1 -1
  140. package/fesm2020/time.mjs +33 -25
  141. package/fesm2020/time.mjs.map +1 -1
  142. package/form-builder/form-builder_public_index.d.ts +4 -0
  143. package/form-builder/index.d.ts +19 -1
  144. package/form-builder/node-properties.d.ts +1 -0
  145. package/form-builder/package.json +2 -2
  146. package/forms/forms_public_index.d.ts +4 -0
  147. package/forms/index.d.ts +19 -1
  148. package/forms/package.json +2 -2
  149. package/image/image_public_index.d.ts +4 -0
  150. package/image/index.d.ts +19 -1
  151. package/image/package.json +2 -2
  152. package/monaco-editor/index.d.ts +19 -1
  153. package/monaco-editor/monaco-editor_public_index.d.ts +4 -0
  154. package/monaco-editor/package.json +2 -2
  155. package/node-icon/index.d.ts +19 -1
  156. package/node-icon/node-icon_public_index.d.ts +4 -0
  157. package/node-icon/package.json +2 -2
  158. package/package.json +26 -36
  159. package/page-slider/index.d.ts +19 -1
  160. package/page-slider/package.json +2 -2
  161. package/page-slider/page-slider_public_index.d.ts +4 -0
  162. package/reports/filter-widget.d.ts +37 -0
  163. package/reports/index.d.ts +19 -1
  164. package/reports/package.json +2 -2
  165. package/reports/public-api.d.ts +1 -0
  166. package/reports/reports-module.d.ts +21 -19
  167. package/reports/reports_public_index.d.ts +4 -0
  168. package/time/index.d.ts +19 -1
  169. package/time/package.json +2 -2
  170. package/time/time_public_index.d.ts +4 -0
  171. package/esm2020/report-builder/column.mjs +0 -76
  172. package/esm2020/report-builder/condition-editor.mjs +0 -162
  173. package/esm2020/report-builder/content.mjs +0 -256
  174. package/esm2020/report-builder/custom-widget-dialog.mjs +0 -50
  175. package/esm2020/report-builder/custom-widget-toolbar-button.mjs +0 -67
  176. package/esm2020/report-builder/custom-widgets-toolbar.mjs +0 -124
  177. package/esm2020/report-builder/forms-analyzer-dialog.mjs +0 -328
  178. package/esm2020/report-builder/forms-analyzer.mjs +0 -244
  179. package/esm2020/report-builder/image-filter.mjs +0 -38
  180. package/esm2020/report-builder/image-group.mjs +0 -112
  181. package/esm2020/report-builder/index.mjs +0 -5
  182. package/esm2020/report-builder/models.mjs +0 -23
  183. package/esm2020/report-builder/operations.mjs +0 -23
  184. package/esm2020/report-builder/properties.mjs +0 -761
  185. package/esm2020/report-builder/public-api.mjs +0 -26
  186. package/esm2020/report-builder/quill-editor.mjs +0 -307
  187. package/esm2020/report-builder/renderer-widget.mjs +0 -243
  188. package/esm2020/report-builder/report-builder-drag-data.mjs +0 -23
  189. package/esm2020/report-builder/report-builder-module.mjs +0 -155
  190. package/esm2020/report-builder/report-builder-service.mjs +0 -1690
  191. package/esm2020/report-builder/report-builder.mjs +0 -51
  192. package/esm2020/report-builder/theme-color-dialog.mjs +0 -67
  193. package/esm2020/report-builder/theme-color.mjs +0 -196
  194. package/esm2020/report-builder/tokens.mjs +0 -24
  195. package/esm2020/report-builder/toolbar-dialog.mjs +0 -54
  196. package/esm2020/report-builder/toolbar.mjs +0 -91
  197. package/esm2020/report-builder/utils.mjs +0 -48
  198. package/esm2020/report-builder/widget-toolbar-button.mjs +0 -46
  199. package/esm2020/report-builder/widgets-row-buttons.mjs +0 -136
  200. package/esm2020/report-builder/widgets-toolbar.mjs +0 -80
  201. package/fesm2015/report-builder.mjs +0 -5184
  202. package/fesm2015/report-builder.mjs.map +0 -1
  203. package/fesm2020/report-builder.mjs +0 -5182
  204. package/fesm2020/report-builder.mjs.map +0 -1
  205. package/report-builder/_report-builder.scss +0 -0
  206. package/report-builder/column.d.ts +0 -66
  207. package/report-builder/condition-editor.d.ts +0 -70
  208. package/report-builder/content.d.ts +0 -145
  209. package/report-builder/custom-widget-dialog.d.ts +0 -13
  210. package/report-builder/custom-widget-toolbar-button.d.ts +0 -48
  211. package/report-builder/custom-widgets-toolbar.d.ts +0 -74
  212. package/report-builder/forms-analyzer-dialog.d.ts +0 -94
  213. package/report-builder/forms-analyzer.d.ts +0 -105
  214. package/report-builder/image-filter.d.ts +0 -29
  215. package/report-builder/image-group.d.ts +0 -72
  216. package/report-builder/models.d.ts +0 -43
  217. package/report-builder/operations.d.ts +0 -45
  218. package/report-builder/package.json +0 -9
  219. package/report-builder/properties.d.ts +0 -368
  220. package/report-builder/public-api.d.ts +0 -26
  221. package/report-builder/quill-editor.d.ts +0 -116
  222. package/report-builder/renderer-widget.d.ts +0 -83
  223. package/report-builder/report-builder-drag-data.d.ts +0 -32
  224. package/report-builder/report-builder-module.d.ts +0 -52
  225. package/report-builder/report-builder-service.d.ts +0 -725
  226. package/report-builder/report-builder.d.ts +0 -39
  227. package/report-builder/theme-color-dialog.d.ts +0 -45
  228. package/report-builder/theme-color.d.ts +0 -111
  229. package/report-builder/tokens.d.ts +0 -24
  230. package/report-builder/toolbar-dialog.d.ts +0 -12
  231. package/report-builder/toolbar.d.ts +0 -30
  232. package/report-builder/utils.d.ts +0 -29
  233. package/report-builder/widget-toolbar-button.d.ts +0 -31
  234. package/report-builder/widgets-row-buttons.d.ts +0 -60
  235. package/report-builder/widgets-toolbar.d.ts +0 -26
@@ -1,51 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { MatSidenav } from '@angular/material/sidenav';
3
- import { AjfReportBuilderService } from './report-builder-service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./report-builder-service";
6
- import * as i2 from "./toolbar";
7
- import * as i3 from "./custom-widgets-toolbar";
8
- import * as i4 from "@angular/material/sidenav";
9
- import * as i5 from "./widgets-toolbar";
10
- import * as i6 from "./content";
11
- import * as i7 from "./properties";
12
- /**
13
- * This class will define an ajf form builderx
14
- */
15
- export class AjfReportBuilder {
16
- constructor(_service) {
17
- this._service = _service;
18
- this._init = false;
19
- }
20
- get report() {
21
- return this._report;
22
- }
23
- set report(report) {
24
- if (report != null) {
25
- this._report = report;
26
- if (this._init) {
27
- this._setCurrentReport();
28
- }
29
- }
30
- }
31
- ngAfterContentInit() {
32
- this._setCurrentReport();
33
- this._init = true;
34
- }
35
- _setCurrentReport() {
36
- this._service.setReportForms(this.report != null ? this.report.forms || [] : []);
37
- this._service.setReport(this.report);
38
- }
39
- }
40
- AjfReportBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilder, deps: [{ token: i1.AjfReportBuilderService }], target: i0.ɵɵFactoryTarget.Component });
41
- AjfReportBuilder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: AjfReportBuilder, selector: "ajf-report-builder", inputs: { report: "report" }, viewQueries: [{ propertyName: "startSidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<ajf-report-builder-toolbar (addClick)=\"start.toggle()\"></ajf-report-builder-toolbar>\n<ajf-report-builder-custom-widgets-toolbar (addClick)=\"start.toggle()\"></ajf-report-builder-custom-widgets-toolbar>\n<mat-drawer-container>\n <mat-drawer #start position=\"start\" mode=\"side\" class=\"ajf-builder-sidebar\">\n <ajf-report-builder-widgets-toolbar></ajf-report-builder-widgets-toolbar>\n </mat-drawer>\n <ajf-report-builder-content></ajf-report-builder-content>\n <mat-drawer #end position=\"end\" mode=\"side\" class=\"ajf-builder-prop\" [opened]=\"true\">\n <ajf-report-builder-properties></ajf-report-builder-properties>\n </mat-drawer>\n</mat-drawer-container>\n", styles: ["ajf-report-builder{display:block;position:relative;width:100%;height:100%;overflow:hidden}ajf-report-builder mat-sidenav-container{height:100%}ajf-report-builder mat-sidenav-container .ajf-builder-sidebar{max-width:7%}ajf-report-builder mat-sidenav-container .ajf-builder-prop{max-width:30%}\n"], components: [{ type: i2.AjfReportBuilderToolbar, selector: "ajf-report-builder-toolbar", outputs: ["addClick"] }, { type: i3.AjfReportBuilderCustomWidgetsToolbar, selector: "ajf-report-builder-custom-widgets-toolbar" }, { type: i4.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { type: i4.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { type: i5.AjfReportBuilderWidgetsToolbar, selector: "ajf-report-builder-widgets-toolbar" }, { type: i6.AjfReportBuilderContent, selector: "ajf-report-builder-content" }, { type: i7.AjfReportBuilderProperties, selector: "ajf-report-builder-properties" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilder, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'ajf-report-builder', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ajf-report-builder-toolbar (addClick)=\"start.toggle()\"></ajf-report-builder-toolbar>\n<ajf-report-builder-custom-widgets-toolbar (addClick)=\"start.toggle()\"></ajf-report-builder-custom-widgets-toolbar>\n<mat-drawer-container>\n <mat-drawer #start position=\"start\" mode=\"side\" class=\"ajf-builder-sidebar\">\n <ajf-report-builder-widgets-toolbar></ajf-report-builder-widgets-toolbar>\n </mat-drawer>\n <ajf-report-builder-content></ajf-report-builder-content>\n <mat-drawer #end position=\"end\" mode=\"side\" class=\"ajf-builder-prop\" [opened]=\"true\">\n <ajf-report-builder-properties></ajf-report-builder-properties>\n </mat-drawer>\n</mat-drawer-container>\n", styles: ["ajf-report-builder{display:block;position:relative;width:100%;height:100%;overflow:hidden}ajf-report-builder mat-sidenav-container{height:100%}ajf-report-builder mat-sidenav-container .ajf-builder-sidebar{max-width:7%}ajf-report-builder mat-sidenav-container .ajf-builder-prop{max-width:30%}\n"] }]
45
- }], ctorParameters: function () { return [{ type: i1.AjfReportBuilderService }]; }, propDecorators: { startSidenav: [{
46
- type: ViewChild,
47
- args: [MatSidenav, { static: true }]
48
- }], report: [{
49
- type: Input
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvcmVwb3J0LWJ1aWxkZXIvcmVwb3J0LWJ1aWxkZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvcmVwb3J0LWJ1aWxkZXIvcmVwb3J0LWJ1aWxkZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QkEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXJELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7QUFTakU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBbUIzQixZQUFvQixRQUFpQztRQUFqQyxhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQWhCN0MsVUFBSyxHQUFZLEtBQUssQ0FBQztJQWdCeUIsQ0FBQztJQWJ6RCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQ0ksTUFBTSxDQUFDLE1BQWlCO1FBQzFCLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7YUFDMUI7U0FDRjtJQUNILENBQUM7SUFJRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7cUhBN0JVLGdCQUFnQjt5R0FBaEIsZ0JBQWdCLHNJQUNoQixVQUFVLDhEQzlDdkIsNnJCQVdBO21HRGtDYSxnQkFBZ0I7a0JBVjVCLFNBQVM7K0JBQ0Usb0JBQW9CLGlCQUdmLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEdBTVIsWUFBWTtzQkFBbEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQVNqQyxNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgKEMpIEdudWNvb3Agc29jLiBjb29wLlxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yXG4gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLFxuICogb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uXG4gKlxuICovXG5cbmltcG9ydCB7QWpmUmVwb3J0fSBmcm9tICdAYWpmL2NvcmUvcmVwb3J0cyc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0U2lkZW5hdn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5cbmltcG9ydCB7QWpmUmVwb3J0QnVpbGRlclNlcnZpY2V9IGZyb20gJy4vcmVwb3J0LWJ1aWxkZXItc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FqZi1yZXBvcnQtYnVpbGRlcicsXG4gIHRlbXBsYXRlVXJsOiAncmVwb3J0LWJ1aWxkZXIuaHRtbCcsXG4gIHN0eWxlVXJsczogWydyZXBvcnQtYnVpbGRlci5jc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG4vKipcbiAqIFRoaXMgY2xhc3Mgd2lsbCBkZWZpbmUgYW4gYWpmIGZvcm0gYnVpbGRlcnhcbiAqL1xuZXhwb3J0IGNsYXNzIEFqZlJlcG9ydEJ1aWxkZXIgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7c3RhdGljOiB0cnVlfSkgc3RhcnRTaWRlbmF2OiBNYXRTaWRlbmF2O1xuXG4gIHByaXZhdGUgX2luaXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9yZXBvcnQ6IEFqZlJlcG9ydDtcbiAgZ2V0IHJlcG9ydCgpOiBBamZSZXBvcnQge1xuICAgIHJldHVybiB0aGlzLl9yZXBvcnQ7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IHJlcG9ydChyZXBvcnQ6IEFqZlJlcG9ydCkge1xuICAgIGlmIChyZXBvcnQgIT0gbnVsbCkge1xuICAgICAgdGhpcy5fcmVwb3J0ID0gcmVwb3J0O1xuICAgICAgaWYgKHRoaXMuX2luaXQpIHtcbiAgICAgICAgdGhpcy5fc2V0Q3VycmVudFJlcG9ydCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEFqZlJlcG9ydEJ1aWxkZXJTZXJ2aWNlKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXRDdXJyZW50UmVwb3J0KCk7XG4gICAgdGhpcy5faW5pdCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIF9zZXRDdXJyZW50UmVwb3J0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NlcnZpY2Uuc2V0UmVwb3J0Rm9ybXModGhpcy5yZXBvcnQgIT0gbnVsbCA/IHRoaXMucmVwb3J0LmZvcm1zIHx8IFtdIDogW10pO1xuICAgIHRoaXMuX3NlcnZpY2Uuc2V0UmVwb3J0KHRoaXMucmVwb3J0KTtcbiAgfVxufVxuIiwiPGFqZi1yZXBvcnQtYnVpbGRlci10b29sYmFyIChhZGRDbGljayk9XCJzdGFydC50b2dnbGUoKVwiPjwvYWpmLXJlcG9ydC1idWlsZGVyLXRvb2xiYXI+XG48YWpmLXJlcG9ydC1idWlsZGVyLWN1c3RvbS13aWRnZXRzLXRvb2xiYXIgKGFkZENsaWNrKT1cInN0YXJ0LnRvZ2dsZSgpXCI+PC9hamYtcmVwb3J0LWJ1aWxkZXItY3VzdG9tLXdpZGdldHMtdG9vbGJhcj5cbjxtYXQtZHJhd2VyLWNvbnRhaW5lcj5cbiAgICA8bWF0LWRyYXdlciAjc3RhcnQgcG9zaXRpb249XCJzdGFydFwiIG1vZGU9XCJzaWRlXCIgY2xhc3M9XCJhamYtYnVpbGRlci1zaWRlYmFyXCI+XG4gICAgICAgIDxhamYtcmVwb3J0LWJ1aWxkZXItd2lkZ2V0cy10b29sYmFyPjwvYWpmLXJlcG9ydC1idWlsZGVyLXdpZGdldHMtdG9vbGJhcj5cbiAgICA8L21hdC1kcmF3ZXI+XG4gICAgPGFqZi1yZXBvcnQtYnVpbGRlci1jb250ZW50PjwvYWpmLXJlcG9ydC1idWlsZGVyLWNvbnRlbnQ+XG4gICAgPG1hdC1kcmF3ZXIgI2VuZCBwb3NpdGlvbj1cImVuZFwiIG1vZGU9XCJzaWRlXCIgY2xhc3M9XCJhamYtYnVpbGRlci1wcm9wXCIgW29wZW5lZF09XCJ0cnVlXCI+XG4gICAgICA8YWpmLXJlcG9ydC1idWlsZGVyLXByb3BlcnRpZXM+PC9hamYtcmVwb3J0LWJ1aWxkZXItcHJvcGVydGllcz5cbiAgICA8L21hdC1kcmF3ZXI+XG48L21hdC1kcmF3ZXItY29udGFpbmVyPlxuIl19
@@ -1,67 +0,0 @@
1
- import { deepCopy } from '@ajf/core/utils';
2
- import { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation } from '@angular/core';
3
- import { MatDialogRef } from '@angular/material/dialog';
4
- import { Subscription } from 'rxjs';
5
- import { AjfReportBuilderService } from './report-builder-service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./report-builder-service";
8
- import * as i2 from "@angular/material/dialog";
9
- import * as i3 from "@angular/material/button";
10
- export class AjfReportBuilderThemeColorDialog {
11
- constructor(_service, _dialogRef) {
12
- this._service = _service;
13
- this._dialogRef = _dialogRef;
14
- this.currentWidget = null;
15
- this.currentColor = 'rgb(255,255,255,0)';
16
- this.section = 'color';
17
- this._currentWidgetSub = Subscription.EMPTY;
18
- }
19
- setWidgetStyles(value) {
20
- this._service.setWidgetStyles(this.section, value);
21
- this.currentColor = value;
22
- this.setStyle();
23
- }
24
- setStyle() {
25
- if (this.currentWidget == null) {
26
- return;
27
- }
28
- this.currentWidget.styles = deepCopy(this.currentWidget.styles);
29
- this._service.updateCurrentWidget(this.currentWidget);
30
- }
31
- addCustomColor() {
32
- this._service.addCustomColor(this.currentColor);
33
- this._service.updateCurrentWidget(this.currentWidget);
34
- this._dialogRef.close();
35
- }
36
- close() {
37
- this._dialogRef.close();
38
- }
39
- ngOnInit() {
40
- this._currentWidgetSub = this._service.currentWidget.subscribe(x => {
41
- if (x !== null) {
42
- if (this.currentWidget !== x) {
43
- this.currentWidget = x;
44
- }
45
- }
46
- else {
47
- this.currentWidget = null;
48
- }
49
- });
50
- }
51
- ngAfterViewInit() {
52
- this.elem.nativeElement.children[1].firstElementChild['style']['position'] = 'initial';
53
- }
54
- ngOnDestroy() {
55
- this._currentWidgetSub.unsubscribe();
56
- }
57
- }
58
- AjfReportBuilderThemeColorDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderThemeColorDialog, deps: [{ token: i1.AjfReportBuilderService }, { token: i2.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
59
- AjfReportBuilderThemeColorDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: AjfReportBuilderThemeColorDialog, selector: "theme-color-dialog", viewQueries: [{ propertyName: "elem", first: true, predicate: ["colorpic"], descendants: true, static: true }], ngImport: i0, template: "<div mat-dialog-content #colorpic>\n</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"addCustomColor()\">Save color</button>\n</div>\n", components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderThemeColorDialog, decorators: [{
61
- type: Component,
62
- args: [{ selector: 'theme-color-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div mat-dialog-content #colorpic>\n</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"addCustomColor()\">Save color</button>\n</div>\n" }]
63
- }], ctorParameters: function () { return [{ type: i1.AjfReportBuilderService }, { type: i2.MatDialogRef }]; }, propDecorators: { elem: [{
64
- type: ViewChild,
65
- args: ['colorpic', { static: true }]
66
- }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtY29sb3ItZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3JlcG9ydC1idWlsZGVyL3RoZW1lLWNvbG9yLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9yZXBvcnQtYnVpbGRlci90aGVtZS1jb2xvci1kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QkEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUdULFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBUWpFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFVM0MsWUFDWSxRQUFpQyxFQUNqQyxVQUEwRDtRQUQxRCxhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxDQUFnRDtRQVR0RSxrQkFBYSxHQUFtQixJQUFJLENBQUM7UUFFckMsaUJBQVksR0FBRyxvQkFBb0IsQ0FBQztRQUNwQyxZQUFPLEdBQVcsT0FBTyxDQUFDO1FBRWxCLHNCQUFpQixHQUFpQixZQUFZLENBQUMsS0FBSyxDQUFDO0lBSVksQ0FBQztJQUUxRSxlQUFlLENBQUMsS0FBVTtRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUU7WUFDOUIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDZCxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssQ0FBQyxFQUFFO29CQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztpQkFDeEI7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQzthQUMzQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7O3FJQXZEVSxnQ0FBZ0M7eUhBQWhDLGdDQUFnQywwS0M1QzdDLHVKQUtBO21HRHVDYSxnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBQ0Usb0JBQW9CLGlCQUVmLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07eUlBR1IsSUFBSTtzQkFBMUMsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge0FqZldpZGdldH0gZnJvbSAnQGFqZi9jb3JlL3JlcG9ydHMnO1xuaW1wb3J0IHtkZWVwQ29weX0gZnJvbSAnQGFqZi9jb3JlL3V0aWxzJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7QWpmUmVwb3J0QnVpbGRlclNlcnZpY2V9IGZyb20gJy4vcmVwb3J0LWJ1aWxkZXItc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RoZW1lLWNvbG9yLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAndGhlbWUtY29sb3ItZGlhbG9nLmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBamZSZXBvcnRCdWlsZGVyVGhlbWVDb2xvckRpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY29sb3JwaWMnLCB7c3RhdGljOiB0cnVlfSkgZWxlbTogYW55O1xuXG4gIGN1cnJlbnRXaWRnZXQ6IEFqZldpZGdldHxudWxsID0gbnVsbDtcblxuICBjdXJyZW50Q29sb3IgPSAncmdiKDI1NSwyNTUsMjU1LDApJztcbiAgc2VjdGlvbjogc3RyaW5nID0gJ2NvbG9yJztcblxuICBwcml2YXRlIF9jdXJyZW50V2lkZ2V0U3ViOiBTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIF9zZXJ2aWNlOiBBamZSZXBvcnRCdWlsZGVyU2VydmljZSxcbiAgICAgIHByaXZhdGUgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFqZlJlcG9ydEJ1aWxkZXJUaGVtZUNvbG9yRGlhbG9nPikge31cblxuICBzZXRXaWRnZXRTdHlsZXModmFsdWU6IGFueSkge1xuICAgIHRoaXMuX3NlcnZpY2Uuc2V0V2lkZ2V0U3R5bGVzKHRoaXMuc2VjdGlvbiwgdmFsdWUpO1xuICAgIHRoaXMuY3VycmVudENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy5zZXRTdHlsZSgpO1xuICB9XG5cbiAgc2V0U3R5bGUoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudFdpZGdldCA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFdpZGdldC5zdHlsZXMgPSBkZWVwQ29weSh0aGlzLmN1cnJlbnRXaWRnZXQuc3R5bGVzKTtcbiAgICB0aGlzLl9zZXJ2aWNlLnVwZGF0ZUN1cnJlbnRXaWRnZXQodGhpcy5jdXJyZW50V2lkZ2V0KTtcbiAgfVxuXG4gIGFkZEN1c3RvbUNvbG9yKCkge1xuICAgIHRoaXMuX3NlcnZpY2UuYWRkQ3VzdG9tQ29sb3IodGhpcy5jdXJyZW50Q29sb3IpO1xuICAgIHRoaXMuX3NlcnZpY2UudXBkYXRlQ3VycmVudFdpZGdldCh0aGlzLmN1cnJlbnRXaWRnZXQpO1xuICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fY3VycmVudFdpZGdldFN1YiA9IHRoaXMuX3NlcnZpY2UuY3VycmVudFdpZGdldC5zdWJzY3JpYmUoeCA9PiB7XG4gICAgICBpZiAoeCAhPT0gbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50V2lkZ2V0ICE9PSB4KSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50V2lkZ2V0ID0geDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jdXJyZW50V2lkZ2V0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5jaGlsZHJlblsxXS5maXJzdEVsZW1lbnRDaGlsZFsnc3R5bGUnXVsncG9zaXRpb24nXSA9ICdpbml0aWFsJztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2N1cnJlbnRXaWRnZXRTdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgI2NvbG9ycGljPlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJhZGRDdXN0b21Db2xvcigpXCI+U2F2ZSBjb2xvcjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,196 +0,0 @@
1
- import { deepCopy } from '@ajf/core/utils';
2
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
3
- import { MatDialog } from '@angular/material/dialog';
4
- import { Subscription } from 'rxjs';
5
- import { distinctUntilChanged, map } from 'rxjs/operators';
6
- import { AjfReportBuilderService } from './report-builder-service';
7
- import { AjfReportBuilderThemeColorDialog } from './theme-color-dialog';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "./report-builder-service";
10
- import * as i2 from "@angular/material/dialog";
11
- import * as i3 from "@angular/material/card";
12
- import * as i4 from "@angular/material/slider";
13
- import * as i5 from "@angular/material/grid-list";
14
- import * as i6 from "@angular/material/button";
15
- import * as i7 from "@angular/common";
16
- /**
17
- * this component manages the report text
18
- *
19
- * @export
20
- */
21
- export class AjfReportBuilderThemeColor {
22
- constructor(_service, dialog) {
23
- this._service = _service;
24
- this.dialog = dialog;
25
- this.currentWidget = null;
26
- this.alphaColor = 1;
27
- this.styleBackgroundColor = 'rgb(255,255,255,0)';
28
- this.styleColor = 'rgb(0,0,0,0)';
29
- this._colorsSub = Subscription.EMPTY;
30
- this._currentWidgetSub = Subscription.EMPTY;
31
- this._originSub = Subscription.EMPTY;
32
- this._headerStyleSub = Subscription.EMPTY;
33
- this._contentStylesSub = Subscription.EMPTY;
34
- this._footerStylesSub = Subscription.EMPTY;
35
- }
36
- setStyles(value) {
37
- switch (this.section) {
38
- case 'widget':
39
- this.setWidgetStyles(value);
40
- break;
41
- case 'report':
42
- this.setReportStyles(value);
43
- break;
44
- case 'section':
45
- this.setSectionStyles(value);
46
- break;
47
- case 'chart':
48
- this.setChartStyle(value);
49
- break;
50
- }
51
- }
52
- setChartStyle(value) {
53
- if (this.label === 'backgroundColor') {
54
- this.addChartBackgroundColor(value);
55
- }
56
- else {
57
- this.addChartBorderColor(value);
58
- }
59
- }
60
- setAlphaColor(value) {
61
- value = value.toFixed(2);
62
- for (let i = 0; i < this.colors.length; i++) {
63
- let lastComma = this.colors[i].lastIndexOf(',');
64
- this.colors[i] = this.colors[i].substring(0, lastComma) + ',' + value + ')';
65
- }
66
- }
67
- /**
68
- * call to service to add new style to widget
69
- *
70
- * @param label
71
- * @param value
72
- *
73
- * @memberOf AjfReportBuilderProperties
74
- */
75
- setWidgetStyles(value) {
76
- if (this.section === 'chart') {
77
- this.setChartStyle(value);
78
- }
79
- else {
80
- this._service.setWidgetStyles(this.label, value);
81
- this.currentColor = value;
82
- this.setStyle();
83
- }
84
- }
85
- /**
86
- * call to service to add new style to section
87
- *
88
- * @param label
89
- * @param value
90
- *
91
- * @memberOf AjfReportBuilderProperties
92
- */
93
- setSectionStyles(value) {
94
- this._service.setSectionStyles(this.origin, this.label, value);
95
- this.styleColor = value;
96
- }
97
- /**
98
- * call to service to add new style to report
99
- *
100
- * @param label
101
- * @param value
102
- *
103
- * @memberOf AjfReportBuilderProperties
104
- */
105
- setReportStyles(value) {
106
- this._service.setReportStyles(this.label, value);
107
- this.styleBackgroundColor = value;
108
- }
109
- /**
110
- * call to service to add background color to current chart
111
- *
112
- *
113
- * @memberOf AjfReportBuilderProperties
114
- */
115
- addChartBackgroundColor(value) {
116
- this._service.addChartBackgroundColor(value);
117
- }
118
- /**
119
- * call to service to add border color to current chart
120
- *
121
- *
122
- * @memberOf AjfReportBuilderProperties
123
- */
124
- addChartBorderColor(value) {
125
- this._service.addChartBorderColor(value);
126
- }
127
- setStyle() {
128
- if (this.currentWidget == null) {
129
- return;
130
- }
131
- this.currentWidget.styles = deepCopy(this.currentWidget.styles);
132
- this._service.updateCurrentWidget(this.currentWidget);
133
- }
134
- openDialog() {
135
- this.dialogRef = this.dialog.open(AjfReportBuilderThemeColorDialog);
136
- }
137
- ngOnInit() {
138
- this._colorsSub = this._service.colors.subscribe(x => {
139
- this.colors = x;
140
- });
141
- this._currentWidgetSub = this._service.currentWidget.subscribe(x => {
142
- if (x != null) {
143
- if (this.currentWidget !== x) {
144
- this.currentWidget = x;
145
- }
146
- }
147
- else {
148
- this.currentWidget = null;
149
- }
150
- });
151
- this.getColorWidget = this._service.currentWidget.pipe(map((myObj) => {
152
- if (myObj != null) {
153
- return myObj.styles['color'] || '';
154
- }
155
- }), distinctUntilChanged());
156
- this._originSub = this._service.origin.subscribe(s => {
157
- this.origin = s;
158
- });
159
- this._headerStyleSub = this._service.headerStyles.subscribe(s => {
160
- if (s['background-color'] != null) {
161
- this.styleBackgroundColor = s['background-color'];
162
- }
163
- });
164
- this._contentStylesSub = this._service.contentStyles.subscribe(s => {
165
- if (s['background-color'] != null) {
166
- this.styleBackgroundColor = s['background-color'];
167
- }
168
- });
169
- this._footerStylesSub = this._service.footerStyles.subscribe(s => {
170
- if (s['background-color'] != null) {
171
- this.styleBackgroundColor = s['background-color'];
172
- }
173
- });
174
- }
175
- ngOnDestroy() {
176
- this._colorsSub.unsubscribe();
177
- this._currentWidgetSub.unsubscribe();
178
- this._originSub.unsubscribe();
179
- this._headerStyleSub.unsubscribe();
180
- this._contentStylesSub.unsubscribe();
181
- this._footerStylesSub.unsubscribe();
182
- }
183
- }
184
- AjfReportBuilderThemeColor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderThemeColor, deps: [{ token: i1.AjfReportBuilderService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
185
- AjfReportBuilderThemeColor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: AjfReportBuilderThemeColor, selector: "ajf-theme-color", inputs: { section: "section", label: "label", init: "init" }, ngImport: i0, template: "<mat-card style=\"width:90%\">\n <mat-card-header>\n <mat-card-title> {{ label }} Trasparency</mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <mat-slider\n style=\"width:90%\"\n (change)=\"setAlphaColor($event.value)\"\n min=\"0\"\n max=\"1\"\n step=\"0.1\"\n [value]=\"alphaColor\"\n thumbLabel>\n </mat-slider>\n </mat-card-content>\n</mat-card>\n<mat-card style=\"width:90%\">\n <mat-card-header>\n <mat-card-title> {{ label }} </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <mat-grid-list\n cols=\"8\"\n rowHeight=\"25px\">\n <mat-grid-tile\n *ngFor=\"let color of colors\"\n [colspan]=\"1\"\n [rowspan]=\"1\"\n [style.background]=\"color\">\n <button\n style=\"height:100%\"\n (click)=\"setStyles(color)\"\n mat-button>\n </button>\n </mat-grid-tile>\n </mat-grid-list>\n </mat-card-content>\n <mat-card-actions>\n <button mat-button (click)=\"openDialog()\" style=\"width:90%;\">Add color</button>\n <button mat-button (click)=\"setStyles('')\" style=\"width:90%\"> Reset </button>\n </mat-card-actions>\n</mat-card>\n\n", styles: ["\n"], components: [{ type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i3.MatCardHeader, selector: "mat-card-header" }, { type: i4.MatSlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "displayWith", "valueText", "vertical"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }, { type: i5.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { type: i5.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i3.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderThemeColor, decorators: [{
187
- type: Component,
188
- args: [{ selector: 'ajf-theme-color', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card style=\"width:90%\">\n <mat-card-header>\n <mat-card-title> {{ label }} Trasparency</mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <mat-slider\n style=\"width:90%\"\n (change)=\"setAlphaColor($event.value)\"\n min=\"0\"\n max=\"1\"\n step=\"0.1\"\n [value]=\"alphaColor\"\n thumbLabel>\n </mat-slider>\n </mat-card-content>\n</mat-card>\n<mat-card style=\"width:90%\">\n <mat-card-header>\n <mat-card-title> {{ label }} </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <mat-grid-list\n cols=\"8\"\n rowHeight=\"25px\">\n <mat-grid-tile\n *ngFor=\"let color of colors\"\n [colspan]=\"1\"\n [rowspan]=\"1\"\n [style.background]=\"color\">\n <button\n style=\"height:100%\"\n (click)=\"setStyles(color)\"\n mat-button>\n </button>\n </mat-grid-tile>\n </mat-grid-list>\n </mat-card-content>\n <mat-card-actions>\n <button mat-button (click)=\"openDialog()\" style=\"width:90%;\">Add color</button>\n <button mat-button (click)=\"setStyles('')\" style=\"width:90%\"> Reset </button>\n </mat-card-actions>\n</mat-card>\n\n", styles: ["\n"] }]
189
- }], ctorParameters: function () { return [{ type: i1.AjfReportBuilderService }, { type: i2.MatDialog }]; }, propDecorators: { section: [{
190
- type: Input
191
- }], label: [{
192
- type: Input
193
- }], init: [{
194
- type: Input
195
- }] } });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvcmVwb3J0LWJ1aWxkZXIvdGhlbWUtY29sb3IudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvcmVwb3J0LWJ1aWxkZXIvdGhlbWUtY29sb3IuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QkEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFHTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBZSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBYSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFFdEU7Ozs7R0FJRztBQVFILE1BQU0sT0FBTywwQkFBMEI7SUFrQ3JDLFlBQW9CLFFBQWlDLEVBQVMsTUFBaUI7UUFBM0QsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBakMvRSxrQkFBYSxHQUFtQixJQUFJLENBQUM7UUFFckMsZUFBVSxHQUFXLENBQUMsQ0FBQztRQVF2Qix5QkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztRQUM1QyxlQUFVLEdBQUcsY0FBYyxDQUFDO1FBZXBCLGVBQVUsR0FBaUIsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUM5QyxzQkFBaUIsR0FBaUIsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNyRCxlQUFVLEdBQWlCLFlBQVks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LENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQzs7K0hBcE1VLDBCQUEwQjttSEFBMUIsMEJBQTBCLHFIQ25EdkMsaXNDQTJDQTttR0RRYSwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUdaLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07c0lBZ0J0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtBamZXaWRnZXR9IGZyb20gJ0BhamYvY29yZS9yZXBvcnRzJztcbmltcG9ydCB7ZGVlcENvcHl9IGZyb20gJ0BhamYvY29yZS91dGlscyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXREaWFsb2csIE1hdERpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0FqZlJlcG9ydEJ1aWxkZXJTZXJ2aWNlfSBmcm9tICcuL3JlcG9ydC1idWlsZGVyLXNlcnZpY2UnO1xuaW1wb3J0IHtBamZSZXBvcnRCdWlsZGVyVGhlbWVDb2xvckRpYWxvZ30gZnJvbSAnLi90aGVtZS1jb2xvci1kaWFsb2cnO1xuXG4vKipcbiAqIHRoaXMgY29tcG9uZW50IG1hbmFnZXMgdGhlIHJlcG9ydCB0ZXh0XG4gKlxuICogQGV4cG9ydFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhamYtdGhlbWUtY29sb3InLFxuICB0ZW1wbGF0ZVVybDogJ3RoZW1lLWNvbG9yLmh0bWwnLFxuICBzdHlsZVVybHM6IFsndGhlbWUtY29sb3IuY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFqZlJlcG9ydEJ1aWxkZXJUaGVtZUNvbG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjdXJyZW50V2lkZ2V0OiBBamZXaWRnZXR8bnVsbCA9IG51bGw7XG5cbiAgYWxwaGFDb2xvcjogbnVtYmVyID0gMTtcbiAgY29sb3JzOiBzdHJpbmdbXTtcbiAgY3VycmVudENvbG9yOiBzdHJpbmc7XG5cbiAgZ2V0Q29sb3JXaWRnZXQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBamZSZXBvcnRCdWlsZGVyVGhlbWVDb2xvckRpYWxvZz47XG5cbiAgc3R5bGVCYWNrZ3JvdW5kQ29sb3IgPSAncmdiKDI1NSwyNTUsMjU1LDApJztcbiAgc3R5bGVDb2xvciA9ICdyZ2IoMCwwLDAsMCknO1xuXG4gIEBJbnB1dCgpIHNlY3Rpb246IHN0cmluZztcblxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGluaXQ6IHN0cmluZztcblxuICAvKipcbiAgICogdGhlIG5hbWUgb2YgdGhlIHNlY3Rpb24gdGhhdCBjb250YWlucyB0aGUgY3VycmVudFdpZGdldFxuICAgKlxuICAgKiBAbWVtYmVyT2YgQWpmUmVwb3J0QnVpbGRlclByb3BlcnRpZXNcbiAgICovXG4gIG9yaWdpbjogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2NvbG9yc1N1YjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICBwcml2YXRlIF9jdXJyZW50V2lkZ2V0U3ViOiBTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gIHByaXZhdGUgX29yaWdpblN1YjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICBwcml2YXRlIF9oZWFkZXJTdHlsZVN1YjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICBwcml2YXRlIF9jb250ZW50U3R5bGVzU3ViOiBTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gIHByaXZhdGUgX2Zvb3RlclN0eWxlc1N1YjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEFqZlJlcG9ydEJ1aWxkZXJTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHt9XG5cbiAgc2V0U3R5bGVzKHZhbHVlOiBhbnkpIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2VjdGlvbikge1xuICAgICAgY2FzZSAnd2lkZ2V0JzpcbiAgICAgICAgdGhpcy5zZXRXaWRnZXRTdHlsZXModmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JlcG9ydCc6XG4gICAgICAgIHRoaXMuc2V0UmVwb3J0U3R5bGVzKHZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzZWN0aW9uJzpcbiAgICAgICAgdGhpcy5zZXRTZWN0aW9uU3R5bGVzKHZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjaGFydCc6XG4gICAgICAgIHRoaXMuc2V0Q2hhcnRTdHlsZSh2YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHNldENoYXJ0U3R5bGUodmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLmxhYmVsID09PSAnYmFja2dyb3VuZENvbG9yJykge1xuICAgICAgdGhpcy5hZGRDaGFydEJhY2tncm91bmRDb2xvcih2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkQ2hhcnRCb3JkZXJDb2xvcih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0QWxwaGFDb2xvcih2YWx1ZTogYW55KSB7XG4gICAgdmFsdWUgPSB2YWx1ZS50b0ZpeGVkKDIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb2xvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBsYXN0Q29tbWEgPSB0aGlzLmNvbG9yc1tpXS5sYXN0SW5kZXhPZignLCcpO1xuICAgICAgdGhpcy5jb2xvcnNbaV0gPSB0aGlzLmNvbG9yc1tpXS5zdWJzdHJpbmcoMCwgbGFzdENvbW1hKSArICcsJyArIHZhbHVlICsgJyknO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsIHRvIHNlcnZpY2UgdG8gYWRkIG5ldyBzdHlsZSB0byB3aWRnZXRcbiAgICpcbiAgICogQHBhcmFtIGxhYmVsXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKlxuICAgKiBAbWVtYmVyT2YgQWpmUmVwb3J0QnVpbGRlclByb3BlcnRpZXNcbiAgICovXG4gIHNldFdpZGdldFN0eWxlcyh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHRoaXMuc2VjdGlvbiA9PT0gJ2NoYXJ0Jykge1xuICAgICAgdGhpcy5zZXRDaGFydFN0eWxlKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2VydmljZS5zZXRXaWRnZXRTdHlsZXModGhpcy5sYWJlbCwgdmFsdWUpO1xuICAgICAgdGhpcy5jdXJyZW50Q29sb3IgPSB2YWx1ZTtcbiAgICAgIHRoaXMuc2V0U3R5bGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY2FsbCB0byBzZXJ2aWNlIHRvIGFkZCBuZXcgc3R5bGUgdG8gc2VjdGlvblxuICAgKlxuICAgKiBAcGFyYW0gbGFiZWxcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqXG4gICAqIEBtZW1iZXJPZiBBamZSZXBvcnRCdWlsZGVyUHJvcGVydGllc1xuICAgKi9cbiAgc2V0U2VjdGlvblN0eWxlcyh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fc2VydmljZS5zZXRTZWN0aW9uU3R5bGVzKHRoaXMub3JpZ2luLCB0aGlzLmxhYmVsLCB2YWx1ZSk7XG4gICAgdGhpcy5zdHlsZUNvbG9yID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogY2FsbCB0byBzZXJ2aWNlIHRvIGFkZCBuZXcgc3R5bGUgdG8gcmVwb3J0XG4gICAqXG4gICAqIEBwYXJhbSBsYWJlbFxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICpcbiAgICogQG1lbWJlck9mIEFqZlJlcG9ydEJ1aWxkZXJQcm9wZXJ0aWVzXG4gICAqL1xuICBzZXRSZXBvcnRTdHlsZXModmFsdWU6IGFueSkge1xuICAgIHRoaXMuX3NlcnZpY2Uuc2V0UmVwb3J0U3R5bGVzKHRoaXMubGFiZWwsIHZhbHVlKTtcbiAgICB0aGlzLnN0eWxlQmFja2dyb3VuZENvbG9yID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogY2FsbCB0byBzZXJ2aWNlIHRvIGFkZCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGN1cnJlbnQgY2hhcnRcbiAgICpcbiAgICpcbiAgICogQG1lbWJlck9mIEFqZlJlcG9ydEJ1aWxkZXJQcm9wZXJ0aWVzXG4gICAqL1xuICBhZGRDaGFydEJhY2tncm91bmRDb2xvcih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fc2VydmljZS5hZGRDaGFydEJhY2tncm91bmRDb2xvcih2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogY2FsbCB0byBzZXJ2aWNlIHRvIGFkZCBib3JkZXIgY29sb3IgdG8gY3VycmVudCBjaGFydFxuICAgKlxuICAgKlxuICAgKiBAbWVtYmVyT2YgQWpmUmVwb3J0QnVpbGRlclByb3BlcnRpZXNcbiAgICovXG4gIGFkZENoYXJ0Qm9yZGVyQ29sb3IodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX3NlcnZpY2UuYWRkQ2hhcnRCb3JkZXJDb2xvcih2YWx1ZSk7XG4gIH1cblxuICBzZXRTdHlsZSgpIHtcbiAgICBpZiAodGhpcy5jdXJyZW50V2lkZ2V0ID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50V2lkZ2V0LnN0eWxlcyA9IGRlZXBDb3B5KHRoaXMuY3VycmVudFdpZGdldC5zdHlsZXMpO1xuICAgIHRoaXMuX3NlcnZpY2UudXBkYXRlQ3VycmVudFdpZGdldCh0aGlzLmN1cnJlbnRXaWRnZXQpO1xuICB9XG5cbiAgb3BlbkRpYWxvZygpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWpmUmVwb3J0QnVpbGRlclRoZW1lQ29sb3JEaWFsb2cpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fY29sb3JzU3ViID0gdGhpcy5fc2VydmljZS5jb2xvcnMuc3Vic2NyaWJlKHggPT4ge1xuICAgICAgdGhpcy5jb2xvcnMgPSB4O1xuICAgIH0pO1xuXG4gICAgdGhpcy5fY3VycmVudFdpZGdldFN1YiA9IHRoaXMuX3NlcnZpY2UuY3VycmVudFdpZGdldC5zdWJzY3JpYmUoeCA9PiB7XG4gICAgICBpZiAoeCAhPSBudWxsKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRXaWRnZXQgIT09IHgpIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRXaWRnZXQgPSB4O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmN1cnJlbnRXaWRnZXQgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5nZXRDb2xvcldpZGdldCA9IHRoaXMuX3NlcnZpY2UuY3VycmVudFdpZGdldC5waXBlKFxuICAgICAgICBtYXAoKG15T2JqOiBBamZXaWRnZXR8bnVsbCkgPT4ge1xuICAgICAgICAgIGlmIChteU9iaiAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbXlPYmouc3R5bGVzWydjb2xvciddIHx8ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gICAgdGhpcy5fb3JpZ2luU3ViID0gdGhpcy5fc2VydmljZS5vcmlnaW4uc3Vic2NyaWJlKHMgPT4ge1xuICAgICAgdGhpcy5vcmlnaW4gPSBzO1xuICAgIH0pO1xuXG4gICAgdGhpcy5faGVhZGVyU3R5bGVTdWIgPSB0aGlzLl9zZXJ2aWNlLmhlYWRlclN0eWxlcy5zdWJzY3JpYmUocyA9PiB7XG4gICAgICBpZiAoc1snYmFja2dyb3VuZC1jb2xvciddICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5zdHlsZUJhY2tncm91bmRDb2xvciA9IHNbJ2JhY2tncm91bmQtY29sb3InXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLl9jb250ZW50U3R5bGVzU3ViID0gdGhpcy5fc2VydmljZS5jb250ZW50U3R5bGVzLnN1YnNjcmliZShzID0+IHtcbiAgICAgIGlmIChzWydiYWNrZ3JvdW5kLWNvbG9yJ10gIT0gbnVsbCkge1xuICAgICAgICB0aGlzLnN0eWxlQmFja2dyb3VuZENvbG9yID0gc1snYmFja2dyb3VuZC1jb2xvciddO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX2Zvb3RlclN0eWxlc1N1YiA9IHRoaXMuX3NlcnZpY2UuZm9vdGVyU3R5bGVzLnN1YnNjcmliZShzID0+IHtcbiAgICAgIGlmIChzWydiYWNrZ3JvdW5kLWNvbG9yJ10gIT0gbnVsbCkge1xuICAgICAgICB0aGlzLnN0eWxlQmFja2dyb3VuZENvbG9yID0gc1snYmFja2dyb3VuZC1jb2xvciddO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fY29sb3JzU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fY3VycmVudFdpZGdldFN1Yi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29yaWdpblN1Yi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX2hlYWRlclN0eWxlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fY29udGVudFN0eWxlc1N1Yi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX2Zvb3RlclN0eWxlc1N1Yi51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgc3R5bGU9XCJ3aWR0aDo5MCVcIj5cbiAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICA8bWF0LWNhcmQtdGl0bGU+IHt7IGxhYmVsIH19IFRyYXNwYXJlbmN5PC9tYXQtY2FyZC10aXRsZT5cbiAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgIDxtYXQtc2xpZGVyXG4gICAgICBzdHlsZT1cIndpZHRoOjkwJVwiXG4gICAgICAoY2hhbmdlKT1cInNldEFscGhhQ29sb3IoJGV2ZW50LnZhbHVlKVwiXG4gICAgICBtaW49XCIwXCJcbiAgICAgIG1heD1cIjFcIlxuICAgICAgc3RlcD1cIjAuMVwiXG4gICAgICBbdmFsdWVdPVwiYWxwaGFDb2xvclwiXG4gICAgICB0aHVtYkxhYmVsPlxuICAgIDwvbWF0LXNsaWRlcj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cbjxtYXQtY2FyZCBzdHlsZT1cIndpZHRoOjkwJVwiPlxuICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgIDxtYXQtY2FyZC10aXRsZT4ge3sgbGFiZWwgfX0gPC9tYXQtY2FyZC10aXRsZT5cbiAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxtYXQtZ3JpZC1saXN0XG4gICAgICBjb2xzPVwiOFwiXG4gICAgICByb3dIZWlnaHQ9XCIyNXB4XCI+XG4gICAgICA8bWF0LWdyaWQtdGlsZVxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sb3Igb2YgY29sb3JzXCJcbiAgICAgICAgW2NvbHNwYW5dPVwiMVwiXG4gICAgICAgIFtyb3dzcGFuXT1cIjFcIlxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvclwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6MTAwJVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNldFN0eWxlcyhjb2xvcilcIlxuICAgICAgICAgIG1hdC1idXR0b24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZ3JpZC10aWxlPlxuICAgIDwvbWF0LWdyaWQtbGlzdD5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuICA8bWF0LWNhcmQtYWN0aW9ucz5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9wZW5EaWFsb2coKVwiIHN0eWxlPVwid2lkdGg6OTAlO1wiPkFkZCBjb2xvcjwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwic2V0U3R5bGVzKCcnKVwiIHN0eWxlPVwid2lkdGg6OTAlXCI+IFJlc2V0IDwvYnV0dG9uPlxuICA8L21hdC1jYXJkLWFjdGlvbnM+XG48L21hdC1jYXJkPlxuXG4iXX0=
@@ -1,24 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (C) Gnucoop soc. coop.
4
- *
5
- * This file is part of the Advanced JSON forms (ajf).
6
- *
7
- * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
8
- * modify it under the terms of the GNU Affero General Public License as
9
- * published by the Free Software Foundation, either version 3 of the License,
10
- * or (at your option) any later version.
11
- *
12
- * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15
- * General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Affero General Public License
18
- * along with Advanced JSON forms (ajf).
19
- * If not, see http://www.gnu.org/licenses/.
20
- *
21
- */
22
- import { InjectionToken } from '@angular/core';
23
- export const AJF_REPORTS_CONFIG = new InjectionToken('AJF_REPORTS_CONFIG');
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3JlcG9ydC1idWlsZGVyL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSTdDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFtQixvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtBamZSZXBvcnRzQ29uZmlnfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBBSkZfUkVQT1JUU19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48QWpmUmVwb3J0c0NvbmZpZz4oJ0FKRl9SRVBPUlRTX0NPTkZJRycpO1xuIl19
@@ -1,54 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (C) Gnucoop soc. coop.
4
- *
5
- * This file is part of the Advanced JSON forms (ajf).
6
- *
7
- * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
8
- * modify it under the terms of the GNU Affero General Public License as
9
- * published by the Free Software Foundation, either version 3 of the License,
10
- * or (at your option) any later version.
11
- *
12
- * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15
- * General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Affero General Public License
18
- * along with Advanced JSON forms (ajf).
19
- * If not, see http://www.gnu.org/licenses/.
20
- *
21
- */
22
- import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
23
- import { MatDialogRef } from '@angular/material/dialog';
24
- import { AjfReportBuilderService } from './report-builder-service';
25
- import * as i0 from "@angular/core";
26
- import * as i1 from "./report-builder-service";
27
- import * as i2 from "@angular/material/dialog";
28
- import * as i3 from "@angular/material/button";
29
- export class AjfReportBuilderToolbarDialog {
30
- constructor(_service, _dialogRef) {
31
- this._service = _service;
32
- this._dialogRef = _dialogRef;
33
- }
34
- resetReport() {
35
- let emptyReport = {
36
- 'header': { 'content': [], 'styles': {} },
37
- 'content': { 'content': [], 'styles': {} },
38
- 'footer': { 'content': [], 'styles': {} },
39
- 'styles': {}
40
- };
41
- this._service.setReport(emptyReport);
42
- this._dialogRef.close();
43
- }
44
- close() {
45
- this._dialogRef.close();
46
- }
47
- }
48
- AjfReportBuilderToolbarDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderToolbarDialog, deps: [{ token: i1.AjfReportBuilderService }, { token: i2.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
49
- AjfReportBuilderToolbarDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: AjfReportBuilderToolbarDialog, selector: "toolbar-dialog", ngImport: i0, template: "<h1 matDialogTitle>Dialog</h1>\n<div mat-dialog-content>Are you sure you want to erase the report?</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"resetReport()\">Yes</button>\n <button mat-button (click)=\"close()\">No</button>\n</div>\n", components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderToolbarDialog, decorators: [{
51
- type: Component,
52
- args: [{ selector: 'toolbar-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<h1 matDialogTitle>Dialog</h1>\n<div mat-dialog-content>Are you sure you want to erase the report?</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"resetReport()\">Yes</button>\n <button mat-button (click)=\"close()\">No</button>\n</div>\n" }]
53
- }], ctorParameters: function () { return [{ type: i1.AjfReportBuilderService }, { type: i2.MatDialogRef }]; } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvcmVwb3J0LWJ1aWxkZXIvdG9vbGJhci1kaWFsb2cudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvcmVwb3J0LWJ1aWxkZXIvdG9vbGJhci1kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFRakUsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QyxZQUNZLFFBQWlDLEVBQ2pDLFVBQXVEO1FBRHZELGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQTZDO0lBQUcsQ0FBQztJQUV2RSxXQUFXO1FBQ1QsSUFBSSxXQUFXLEdBQVE7WUFDckIsUUFBUSxFQUFFLEVBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDO1lBQ3ZDLFNBQVMsRUFBRSxFQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBQztZQUN4QyxRQUFRLEVBQUUsRUFBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUM7WUFDdkMsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7a0lBbEJVLDZCQUE2QjtzSEFBN0IsNkJBQTZCLHNEQ2pDMUMsaVFBTUE7bUdEMkJhLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDRSxnQkFBZ0IsaUJBRVgsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdERpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHtBamZSZXBvcnRCdWlsZGVyU2VydmljZX0gZnJvbSAnLi9yZXBvcnQtYnVpbGRlci1zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9vbGJhci1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJ3Rvb2xiYXItZGlhbG9nLmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBamZSZXBvcnRCdWlsZGVyVG9vbGJhckRpYWxvZyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBfc2VydmljZTogQWpmUmVwb3J0QnVpbGRlclNlcnZpY2UsXG4gICAgICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBamZSZXBvcnRCdWlsZGVyVG9vbGJhckRpYWxvZz4pIHt9XG5cbiAgcmVzZXRSZXBvcnQoKSB7XG4gICAgbGV0IGVtcHR5UmVwb3J0OiBhbnkgPSB7XG4gICAgICAnaGVhZGVyJzogeydjb250ZW50JzogW10sICdzdHlsZXMnOiB7fX0sXG4gICAgICAnY29udGVudCc6IHsnY29udGVudCc6IFtdLCAnc3R5bGVzJzoge319LFxuICAgICAgJ2Zvb3Rlcic6IHsnY29udGVudCc6IFtdLCAnc3R5bGVzJzoge319LFxuICAgICAgJ3N0eWxlcyc6IHt9XG4gICAgfTtcbiAgICB0aGlzLl9zZXJ2aWNlLnNldFJlcG9ydChlbXB0eVJlcG9ydCk7XG4gICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxufVxuIiwiPGgxIG1hdERpYWxvZ1RpdGxlPkRpYWxvZzwvaDE+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZXJhc2UgdGhlIHJlcG9ydD88L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInJlc2V0UmVwb3J0KClcIj5ZZXM8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCI+Tm88L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,91 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (C) Gnucoop soc. coop.
4
- *
5
- * This file is part of the Advanced JSON forms (ajf).
6
- *
7
- * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
8
- * modify it under the terms of the GNU Affero General Public License as
9
- * published by the Free Software Foundation, either version 3 of the License,
10
- * or (at your option) any later version.
11
- *
12
- * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15
- * General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU Affero General Public License
18
- * along with Advanced JSON forms (ajf).
19
- * If not, see http://www.gnu.org/licenses/.
20
- *
21
- */
22
- import { deepCopy } from '@ajf/core/utils';
23
- import { ChangeDetectionStrategy, Component, EventEmitter, ViewEncapsulation } from '@angular/core';
24
- import { MatDialog } from '@angular/material/dialog';
25
- import { AjfReportBuilderService } from './report-builder-service';
26
- import { AjfReportBuilderToolbarDialog } from './toolbar-dialog';
27
- import * as i0 from "@angular/core";
28
- import * as i1 from "./report-builder-service";
29
- import * as i2 from "@angular/material/dialog";
30
- import * as i3 from "@angular/material/toolbar";
31
- import * as i4 from "@angular/material/button";
32
- import * as i5 from "@angular/material/slide-toggle";
33
- import * as i6 from "@angular/material/tooltip";
34
- import * as i7 from "@angular/cdk/drag-drop";
35
- import * as i8 from "@angular/common";
36
- /**
37
- * This class will define an ajf builder toolbar
38
- * @implements : OnDestroy
39
- */
40
- export class AjfReportBuilderToolbar {
41
- constructor(_service, dialog) {
42
- this._service = _service;
43
- this.dialog = dialog;
44
- // this is an any EventEmitter
45
- this.addClick = new EventEmitter();
46
- this.zoom = false;
47
- this.emptyContent = this._service.emptyContent;
48
- }
49
- canDropPredicate(item) {
50
- return item.data.dropZones.indexOf('widget') > -1;
51
- }
52
- JSONRequest() { }
53
- /**
54
- * this method will pass event to event emitter
55
- */
56
- onAddClick(event) {
57
- this.addClick.emit(event);
58
- }
59
- addToList(event) {
60
- if (event.item.data.widget != null) {
61
- this._service.addCustomWidgets({ json: JSON.stringify(event.item.data.widget.toJson()), type: '' });
62
- }
63
- }
64
- undoLastOperation() {
65
- try {
66
- let myObj = JSON.parse(this._service.popJsonStack() || '');
67
- this._service.setReport(deepCopy(myObj));
68
- }
69
- catch (e) {
70
- }
71
- }
72
- isZoomed() {
73
- this.zoom = !this.zoom;
74
- if (this.zoom) {
75
- this._service.fixedZoomIn();
76
- }
77
- else {
78
- this._service.fixedZoomOut();
79
- }
80
- }
81
- openDialog() {
82
- this.dialogRef = this.dialog.open(AjfReportBuilderToolbarDialog);
83
- }
84
- }
85
- AjfReportBuilderToolbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderToolbar, deps: [{ token: i1.AjfReportBuilderService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
86
- AjfReportBuilderToolbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: AjfReportBuilderToolbar, selector: "ajf-report-builder-toolbar", outputs: { addClick: "addClick" }, ngImport: i0, template: "<mat-toolbar>\n <button\n mat-button\n (click)=\"onAddClick($event)\"\n matTooltip=\"open widget sidebar\"\n [matTooltipPosition]=\"'above'\">\n Open\n </button>\n <button\n mat-button\n (click)=\"openDialog()\"\n matTooltip=\"reset the current report\"\n [matTooltipPosition]=\"'above'\">reset\n </button>\n <button\n mat-button\n (click)=\"undoLastOperation()\"\n matTooltip=\"undo the last operation\"\n [disabled]=\"emptyContent|async\"\n [matTooltipPosition]=\"'above'\">Undo</button>\n\n <button mat-button\n class=\"ajf-custom-widget-drop-zone\"\n cdkDropList\n [cdkDropListEnterPredicate]=\"canDropPredicate\"\n (cdkDropListDropped)=\"addToList($event);\"\n matTooltip=\"add custom widget on toolbar\"\n [matTooltipPosition]=\"'above'\">\n add custom widget here\n <i class=\"material-icons\">add_circle_outline</i>\n </button>\n <section class=\"example-section\">\n <mat-slide-toggle\n [checked]=\"zoom\"\n (change)=isZoomed()\n matTooltip=\"apply zoom out\"\n [matTooltipPosition]=\"'above'\">\n zoom out\n </mat-slide-toggle>\n </section>\n</mat-toolbar>\n", styles: ["ajf-report-builder-toolbar a{margin-right:10px}ajf-report-builder-toolbar .ajf-custom-widget-drop-zone{position:absolute;right:0;background-color:#90ee90}\n"], components: [{ type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], directives: [{ type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }], pipes: { "async": i8.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderToolbar, decorators: [{
88
- type: Component,
89
- args: [{ selector: 'ajf-report-builder-toolbar', outputs: ['addClick'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-toolbar>\n <button\n mat-button\n (click)=\"onAddClick($event)\"\n matTooltip=\"open widget sidebar\"\n [matTooltipPosition]=\"'above'\">\n Open\n </button>\n <button\n mat-button\n (click)=\"openDialog()\"\n matTooltip=\"reset the current report\"\n [matTooltipPosition]=\"'above'\">reset\n </button>\n <button\n mat-button\n (click)=\"undoLastOperation()\"\n matTooltip=\"undo the last operation\"\n [disabled]=\"emptyContent|async\"\n [matTooltipPosition]=\"'above'\">Undo</button>\n\n <button mat-button\n class=\"ajf-custom-widget-drop-zone\"\n cdkDropList\n [cdkDropListEnterPredicate]=\"canDropPredicate\"\n (cdkDropListDropped)=\"addToList($event);\"\n matTooltip=\"add custom widget on toolbar\"\n [matTooltipPosition]=\"'above'\">\n add custom widget here\n <i class=\"material-icons\">add_circle_outline</i>\n </button>\n <section class=\"example-section\">\n <mat-slide-toggle\n [checked]=\"zoom\"\n (change)=isZoomed()\n matTooltip=\"apply zoom out\"\n [matTooltipPosition]=\"'above'\">\n zoom out\n </mat-slide-toggle>\n </section>\n</mat-toolbar>\n", styles: ["ajf-report-builder-toolbar a{margin-right:10px}ajf-report-builder-toolbar .ajf-custom-widget-drop-zone{position:absolute;right:0;background-color:#90ee90}\n"] }]
90
- }], ctorParameters: function () { return [{ type: i1.AjfReportBuilderService }, { type: i2.MatDialog }]; } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9yZXBvcnQtYnVpbGRlci90b29sYmFyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3JlcG9ydC1idWlsZGVyL3Rvb2xiYXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFDLFNBQVMsRUFBZSxNQUFNLDBCQUEwQixDQUFDO0FBSWpFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7O0FBVS9EOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFVbEMsWUFBb0IsUUFBaUMsRUFBUyxNQUFpQjtRQUEzRCxhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVc7UUFUL0UsOEJBQThCO1FBQzlCLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV0RCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBT1gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztJQUNqRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBdUM7UUFDdEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFdBQVcsS0FBSSxDQUFDO0lBQ2hCOztPQUVHO0lBQ0gsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUE0QztRQUNwRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDMUIsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQztTQUN4RTtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJO1lBQ0YsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzFDO1FBQUMsT0FBTyxDQUFDLEVBQUU7U0FDWDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM3QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OzRIQXBEVSx1QkFBdUI7Z0hBQXZCLHVCQUF1QixxR0M1Q3BDLGdxQ0F5Q0E7bUdER2EsdUJBQXVCO2tCQVpuQyxTQUFTOytCQUNFLDRCQUE0QixXQUM3QixDQUFDLFVBQVUsQ0FBQyxpQkFHTixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge2RlZXBDb3B5fSBmcm9tICdAYWpmL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtDZGtEcmFnLCBDZGtEcmFnRHJvcH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXREaWFsb2csIE1hdERpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7QWpmUmVwb3J0QnVpbGRlckRyYWdEYXRhfSBmcm9tICcuL3JlcG9ydC1idWlsZGVyLWRyYWctZGF0YSc7XG5pbXBvcnQge0FqZlJlcG9ydEJ1aWxkZXJTZXJ2aWNlfSBmcm9tICcuL3JlcG9ydC1idWlsZGVyLXNlcnZpY2UnO1xuaW1wb3J0IHtBamZSZXBvcnRCdWlsZGVyVG9vbGJhckRpYWxvZ30gZnJvbSAnLi90b29sYmFyLWRpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FqZi1yZXBvcnQtYnVpbGRlci10b29sYmFyJyxcbiAgb3V0cHV0czogWydhZGRDbGljayddLFxuICBzdHlsZVVybHM6IFsndG9vbGJhci5jc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICd0b29sYmFyLmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbi8qKlxuICogVGhpcyBjbGFzcyB3aWxsIGRlZmluZSBhbiBhamYgYnVpbGRlciB0b29sYmFyXG4gKiBAaW1wbGVtZW50cyA6IE9uRGVzdHJveVxuICovXG5leHBvcnQgY2xhc3MgQWpmUmVwb3J0QnVpbGRlclRvb2xiYXIge1xuICAvLyB0aGlzIGlzIGFuIGFueSBFdmVudEVtaXR0ZXJcbiAgYWRkQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFqZlJlcG9ydEJ1aWxkZXJUb29sYmFyRGlhbG9nPjtcbiAgem9vbSA9IGZhbHNlO1xuXG4gIGxhc3RKc29uOiBzdHJpbmc7XG5cbiAgZW1wdHlDb250ZW50OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEFqZlJlcG9ydEJ1aWxkZXJTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHtcbiAgICB0aGlzLmVtcHR5Q29udGVudCA9IHRoaXMuX3NlcnZpY2UuZW1wdHlDb250ZW50O1xuICB9XG5cbiAgY2FuRHJvcFByZWRpY2F0ZShpdGVtOiBDZGtEcmFnPEFqZlJlcG9ydEJ1aWxkZXJEcmFnRGF0YT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXRlbS5kYXRhLmRyb3Bab25lcy5pbmRleE9mKCd3aWRnZXQnKSA+IC0xO1xuICB9XG5cbiAgSlNPTlJlcXVlc3QoKSB7fVxuICAvKipcbiAgICogdGhpcyBtZXRob2Qgd2lsbCBwYXNzIGV2ZW50IHRvIGV2ZW50IGVtaXR0ZXJcbiAgICovXG4gIG9uQWRkQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuYWRkQ2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICBhZGRUb0xpc3QoZXZlbnQ6IENka0RyYWdEcm9wPEFqZlJlcG9ydEJ1aWxkZXJEcmFnRGF0YT4pIHtcbiAgICBpZiAoZXZlbnQuaXRlbS5kYXRhLndpZGdldCAhPSBudWxsKSB7XG4gICAgICB0aGlzLl9zZXJ2aWNlLmFkZEN1c3RvbVdpZGdldHMoXG4gICAgICAgICAge2pzb246IEpTT04uc3RyaW5naWZ5KGV2ZW50Lml0ZW0uZGF0YS53aWRnZXQudG9Kc29uKCkpLCB0eXBlOiAnJ30pO1xuICAgIH1cbiAgfVxuXG4gIHVuZG9MYXN0T3BlcmF0aW9uKCkge1xuICAgIHRyeSB7XG4gICAgICBsZXQgbXlPYmogPSBKU09OLnBhcnNlKHRoaXMuX3NlcnZpY2UucG9wSnNvblN0YWNrKCkgfHwgJycpO1xuICAgICAgdGhpcy5fc2VydmljZS5zZXRSZXBvcnQoZGVlcENvcHkobXlPYmopKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgfVxuICB9XG5cbiAgaXNab29tZWQoKSB7XG4gICAgdGhpcy56b29tID0gIXRoaXMuem9vbTtcbiAgICBpZiAodGhpcy56b29tKSB7XG4gICAgICB0aGlzLl9zZXJ2aWNlLmZpeGVkWm9vbUluKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NlcnZpY2UuZml4ZWRab29tT3V0KCk7XG4gICAgfVxuICB9XG5cbiAgb3BlbkRpYWxvZygpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWpmUmVwb3J0QnVpbGRlclRvb2xiYXJEaWFsb2cpO1xuICB9XG59XG4iLCI8bWF0LXRvb2xiYXI+XG4gIDxidXR0b25cbiAgICBtYXQtYnV0dG9uXG4gICAgKGNsaWNrKT1cIm9uQWRkQ2xpY2soJGV2ZW50KVwiXG4gICAgbWF0VG9vbHRpcD1cIm9wZW4gd2lkZ2V0IHNpZGViYXJcIlxuICAgIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ2Fib3ZlJ1wiPlxuICAgIE9wZW5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICBtYXQtYnV0dG9uXG4gICAgKGNsaWNrKT1cIm9wZW5EaWFsb2coKVwiXG4gICAgbWF0VG9vbHRpcD1cInJlc2V0IHRoZSBjdXJyZW50IHJlcG9ydFwiXG4gICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYWJvdmUnXCI+cmVzZXRcbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICBtYXQtYnV0dG9uXG4gICAgKGNsaWNrKT1cInVuZG9MYXN0T3BlcmF0aW9uKClcIlxuICAgIG1hdFRvb2x0aXA9XCJ1bmRvIHRoZSBsYXN0IG9wZXJhdGlvblwiXG4gICAgW2Rpc2FibGVkXT1cImVtcHR5Q29udGVudHxhc3luY1wiXG4gICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYWJvdmUnXCI+VW5kbzwvYnV0dG9uPlxuXG4gIDxidXR0b24gbWF0LWJ1dHRvblxuICAgIGNsYXNzPVwiYWpmLWN1c3RvbS13aWRnZXQtZHJvcC16b25lXCJcbiAgICBjZGtEcm9wTGlzdFxuICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cImNhbkRyb3BQcmVkaWNhdGVcIlxuICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiYWRkVG9MaXN0KCRldmVudCk7XCJcbiAgICBtYXRUb29sdGlwPVwiYWRkIGN1c3RvbSB3aWRnZXQgb24gdG9vbGJhclwiXG4gICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYWJvdmUnXCI+XG4gICAgYWRkIGN1c3RvbSB3aWRnZXQgaGVyZVxuICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5hZGRfY2lyY2xlX291dGxpbmU8L2k+XG4gIDwvYnV0dG9uPlxuICA8c2VjdGlvbiBjbGFzcz1cImV4YW1wbGUtc2VjdGlvblwiPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgIFtjaGVja2VkXT1cInpvb21cIlxuICAgICAgICAoY2hhbmdlKT1pc1pvb21lZCgpXG4gICAgICAgIG1hdFRvb2x0aXA9XCJhcHBseSB6b29tIG91dFwiXG4gICAgICAgIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ2Fib3ZlJ1wiPlxuICAgICAgem9vbSBvdXRcbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIDwvc2VjdGlvbj5cbjwvbWF0LXRvb2xiYXI+XG4iXX0=