@resolveio/client-lib-core 16.0.0 → 21.0.1

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 (217) hide show
  1. package/fesm2022/resolveio-client-lib-core.min.mjs +1 -0
  2. package/package.json +10 -8
  3. package/types/resolveio-client-lib-core.d.ts +1904 -0
  4. package/esm2022/lib/account-manager.service.mjs +0 -229
  5. package/esm2022/lib/auth/auth-guard.service.mjs +0 -174
  6. package/esm2022/lib/auth/auth-permissions.service.mjs +0 -23
  7. package/esm2022/lib/auth/auth.service.mjs +0 -251
  8. package/esm2022/lib/auth/auth365.component.mjs +0 -51
  9. package/esm2022/lib/auth/can-deactivate-guard.service.mjs +0 -13
  10. package/esm2022/lib/auth/enroll.component.mjs +0 -88
  11. package/esm2022/lib/auth/forgot-password.component.mjs +0 -89
  12. package/esm2022/lib/core.component.mjs +0 -404
  13. package/esm2022/lib/core.module.mjs +0 -176
  14. package/esm2022/lib/core.service.mjs +0 -88
  15. package/esm2022/lib/directive/focus.mjs +0 -24
  16. package/esm2022/lib/directive/scroll.mjs +0 -54
  17. package/esm2022/lib/home/home.component.mjs +0 -84
  18. package/esm2022/lib/logger/logger.component.mjs +0 -229
  19. package/esm2022/lib/models/app-status.model.mjs +0 -2
  20. package/esm2022/lib/models/collection-document.model.mjs +0 -2
  21. package/esm2022/lib/models/cron-job.model.mjs +0 -2
  22. package/esm2022/lib/models/dialog.model.mjs +0 -2
  23. package/esm2022/lib/models/file.model.mjs +0 -2
  24. package/esm2022/lib/models/log-method-latency.model.mjs +0 -2
  25. package/esm2022/lib/models/navbar-main-tab.model.mjs +0 -2
  26. package/esm2022/lib/models/pagination.model.mjs +0 -2
  27. package/esm2022/lib/models/permission.model.mjs +0 -2
  28. package/esm2022/lib/models/select-data-label.model.mjs +0 -2
  29. package/esm2022/lib/models/subscription.model.mjs +0 -2
  30. package/esm2022/lib/models/support-ticket.model.mjs +0 -2
  31. package/esm2022/lib/models/user-group.model.mjs +0 -2
  32. package/esm2022/lib/models/user.model.mjs +0 -2
  33. package/esm2022/lib/offline-db.mjs +0 -519
  34. package/esm2022/lib/offline-manager.service.mjs +0 -109
  35. package/esm2022/lib/pipes/domsanitizor.pipe.mjs +0 -29
  36. package/esm2022/lib/pipes/filter.pipe.mjs +0 -36
  37. package/esm2022/lib/pipes/json-parse.pipe.mjs +0 -29
  38. package/esm2022/lib/pipes/minus-currency.pipe.mjs +0 -16
  39. package/esm2022/lib/pipes/phone.pipe.mjs +0 -47
  40. package/esm2022/lib/pipes/pipe.module.mjs +0 -54
  41. package/esm2022/lib/pipes/reverse-list.pipe.mjs +0 -17
  42. package/esm2022/lib/pipes/titlecase.pipe.mjs +0 -22
  43. package/esm2022/lib/report-builder.permission.mjs +0 -13
  44. package/esm2022/lib/resolveio-class.mjs +0 -50
  45. package/esm2022/lib/shared/shared.module.mjs +0 -96
  46. package/esm2022/lib/socket-manager.service.mjs +0 -340
  47. package/esm2022/lib/socket.service.mjs +0 -200
  48. package/esm2022/lib/super-admin.permission.mjs +0 -9
  49. package/esm2022/lib/support-ticket/detail/support-ticket-detail.component.mjs +0 -211
  50. package/esm2022/lib/support-ticket/edit/support-ticket-edit.component.mjs +0 -131
  51. package/esm2022/lib/support-ticket/list/support-ticket-list.component.mjs +0 -142
  52. package/esm2022/lib/support-ticket/new/support-ticket-new.component.mjs +0 -121
  53. package/esm2022/lib/support-ticket/support-ticket.component.mjs +0 -67
  54. package/esm2022/lib/support-ticket/support-ticket.module.mjs +0 -50
  55. package/esm2022/lib/support-ticket/support-ticket.routing.mjs +0 -20
  56. package/esm2022/lib/support-ticket/support-ticket.service.mjs +0 -16
  57. package/esm2022/lib/token-manager.service.mjs +0 -25
  58. package/esm2022/lib/user-settings/settings/users-settings.component.mjs +0 -302
  59. package/esm2022/lib/user-settings/user-settings.component.mjs +0 -61
  60. package/esm2022/lib/user-settings/user-settings.module.mjs +0 -41
  61. package/esm2022/lib/user-settings/user-settings.permission.mjs +0 -10
  62. package/esm2022/lib/user-settings/user-settings.routing.mjs +0 -14
  63. package/esm2022/lib/user-settings/user-settings.service.mjs +0 -16
  64. package/esm2022/lib/util/action-name.helper.mjs +0 -9
  65. package/esm2022/lib/util/aws.service.mjs +0 -80
  66. package/esm2022/lib/util/common.helper.mjs +0 -133
  67. package/esm2022/lib/util/validation.service.mjs +0 -185
  68. package/esm2022/lib/util/window-resize.service.mjs +0 -38
  69. package/esm2022/lib/util/window.service.mjs +0 -16
  70. package/esm2022/lib/widgets/alert/alert.model.mjs +0 -2
  71. package/esm2022/lib/widgets/alert/alert.service.mjs +0 -79
  72. package/esm2022/lib/widgets/collapse-table/collapse-table.component.mjs +0 -83
  73. package/esm2022/lib/widgets/collapse-table/collapse-table.module.mjs +0 -34
  74. package/esm2022/lib/widgets/data-table/data-table.component.mjs +0 -84
  75. package/esm2022/lib/widgets/data-table/data-table.model.mjs +0 -2
  76. package/esm2022/lib/widgets/data-table/data-table.module.mjs +0 -41
  77. package/esm2022/lib/widgets/date-shortcut/date-shortcut.component.mjs +0 -198
  78. package/esm2022/lib/widgets/date-shortcut/date-shortcut.module.mjs +0 -32
  79. package/esm2022/lib/widgets/dialog/dialog.confirm.content.mjs +0 -67
  80. package/esm2022/lib/widgets/dialog/dialog.error.content.mjs +0 -60
  81. package/esm2022/lib/widgets/dialog/dialog.input.content.mjs +0 -200
  82. package/esm2022/lib/widgets/dialog/dialog.login.content.mjs +0 -354
  83. package/esm2022/lib/widgets/dialog/dialog.notify.content.mjs +0 -60
  84. package/esm2022/lib/widgets/dialog/dialog.register.content.mjs +0 -333
  85. package/esm2022/lib/widgets/dialog/dialog.select-array-objs.content.mjs +0 -203
  86. package/esm2022/lib/widgets/dialog/dialog.select-array.content.mjs +0 -310
  87. package/esm2022/lib/widgets/dialog/dialog.select-data-labels.content.mjs +0 -196
  88. package/esm2022/lib/widgets/dialog/dialog.select-datetime.content.mjs +0 -191
  89. package/esm2022/lib/widgets/dialog/dialog.select-with-buttons-url.content.mjs +0 -166
  90. package/esm2022/lib/widgets/dialog/dialog.service.mjs +0 -98
  91. package/esm2022/lib/widgets/file/file-upload.component.mjs +0 -433
  92. package/esm2022/lib/widgets/file/file-upload.module.mjs +0 -48
  93. package/esm2022/lib/widgets/form-button/form-button.component.mjs +0 -97
  94. package/esm2022/lib/widgets/form-button/form-button.module.mjs +0 -28
  95. package/esm2022/lib/widgets/navbar-main/navbar-main.component.mjs +0 -222
  96. package/esm2022/lib/widgets/navbar-module/navbar-module.component.mjs +0 -108
  97. package/esm2022/lib/widgets/navbar-module/navbar-module.model.mjs +0 -2
  98. package/esm2022/lib/widgets/responsive-button-group/responsive-button-group.component.mjs +0 -41
  99. package/esm2022/lib/widgets/responsive-button-group/responsive-button-group.module.mjs +0 -24
  100. package/esm2022/lib/widgets/scheduler/scheduler.component.mjs +0 -186
  101. package/esm2022/lib/widgets/scheduler/scheduler.module.mjs +0 -37
  102. package/esm2022/lib/widgets/sort-table/sort-table-header.component.mjs +0 -72
  103. package/esm2022/lib/widgets/sort-table/sort-table-ngfor.component.mjs +0 -49
  104. package/esm2022/lib/widgets/sort-table/sort-table.directive.mjs +0 -177
  105. package/esm2022/lib/widgets/sort-table/sort-table.module.mjs +0 -38
  106. package/esm2022/lib/widgets/user-role/user-role.component.mjs +0 -29
  107. package/esm2022/lib/widgets/user-role/user-role.module.mjs +0 -24
  108. package/esm2022/public_api.mjs +0 -91
  109. package/esm2022/resolveio-client-lib-core.mjs +0 -5
  110. package/fesm2022/resolveio-client-lib-core.mjs +0 -9019
  111. package/fesm2022/resolveio-client-lib-core.mjs.map +0 -1
  112. package/index.d.ts +0 -5
  113. package/lib/account-manager.service.d.ts +0 -41
  114. package/lib/auth/auth-guard.service.d.ts +0 -26
  115. package/lib/auth/auth-permissions.service.d.ts +0 -10
  116. package/lib/auth/auth.service.d.ts +0 -30
  117. package/lib/auth/auth365.component.d.ts +0 -20
  118. package/lib/auth/can-deactivate-guard.service.d.ts +0 -10
  119. package/lib/auth/enroll.component.d.ts +0 -28
  120. package/lib/auth/forgot-password.component.d.ts +0 -28
  121. package/lib/core.component.d.ts +0 -63
  122. package/lib/core.module.d.ts +0 -34
  123. package/lib/core.service.d.ts +0 -49
  124. package/lib/directive/focus.d.ts +0 -10
  125. package/lib/directive/scroll.d.ts +0 -20
  126. package/lib/home/home.component.d.ts +0 -28
  127. package/lib/logger/logger.component.d.ts +0 -37
  128. package/lib/models/app-status.model.d.ts +0 -4
  129. package/lib/models/collection-document.model.d.ts +0 -6
  130. package/lib/models/cron-job.model.d.ts +0 -13
  131. package/lib/models/dialog.model.d.ts +0 -23
  132. package/lib/models/file.model.d.ts +0 -9
  133. package/lib/models/log-method-latency.model.d.ts +0 -7
  134. package/lib/models/navbar-main-tab.model.d.ts +0 -14
  135. package/lib/models/pagination.model.d.ts +0 -17
  136. package/lib/models/permission.model.d.ts +0 -14
  137. package/lib/models/select-data-label.model.d.ts +0 -9
  138. package/lib/models/subscription.model.d.ts +0 -19
  139. package/lib/models/support-ticket.model.d.ts +0 -71
  140. package/lib/models/user-group.model.d.ts +0 -19
  141. package/lib/models/user.model.d.ts +0 -70
  142. package/lib/offline-db.d.ts +0 -28
  143. package/lib/offline-manager.service.d.ts +0 -23
  144. package/lib/pipes/domsanitizor.pipe.d.ts +0 -10
  145. package/lib/pipes/filter.pipe.d.ts +0 -12
  146. package/lib/pipes/json-parse.pipe.d.ts +0 -7
  147. package/lib/pipes/minus-currency.pipe.d.ts +0 -7
  148. package/lib/pipes/phone.pipe.d.ts +0 -7
  149. package/lib/pipes/pipe.module.d.ts +0 -13
  150. package/lib/pipes/reverse-list.pipe.d.ts +0 -6
  151. package/lib/pipes/titlecase.pipe.d.ts +0 -7
  152. package/lib/report-builder.permission.d.ts +0 -2
  153. package/lib/resolveio-class.d.ts +0 -26
  154. package/lib/shared/shared.module.d.ts +0 -17
  155. package/lib/socket-manager.service.d.ts +0 -36
  156. package/lib/socket.service.d.ts +0 -38
  157. package/lib/super-admin.permission.d.ts +0 -2
  158. package/lib/support-ticket/detail/support-ticket-detail.component.d.ts +0 -32
  159. package/lib/support-ticket/edit/support-ticket-edit.component.d.ts +0 -30
  160. package/lib/support-ticket/list/support-ticket-list.component.d.ts +0 -26
  161. package/lib/support-ticket/new/support-ticket-new.component.d.ts +0 -26
  162. package/lib/support-ticket/support-ticket.component.d.ts +0 -20
  163. package/lib/support-ticket/support-ticket.module.d.ts +0 -15
  164. package/lib/support-ticket/support-ticket.routing.d.ts +0 -3
  165. package/lib/support-ticket/support-ticket.service.d.ts +0 -9
  166. package/lib/token-manager.service.d.ts +0 -11
  167. package/lib/user-settings/settings/users-settings.component.d.ts +0 -54
  168. package/lib/user-settings/user-settings.component.d.ts +0 -20
  169. package/lib/user-settings/user-settings.module.d.ts +0 -12
  170. package/lib/user-settings/user-settings.permission.d.ts +0 -2
  171. package/lib/user-settings/user-settings.routing.d.ts +0 -3
  172. package/lib/user-settings/user-settings.service.d.ts +0 -9
  173. package/lib/util/action-name.helper.d.ts +0 -1
  174. package/lib/util/aws.service.d.ts +0 -16
  175. package/lib/util/common.helper.d.ts +0 -12
  176. package/lib/util/validation.service.d.ts +0 -88
  177. package/lib/util/window-resize.service.d.ts +0 -13
  178. package/lib/util/window.service.d.ts +0 -6
  179. package/lib/widgets/alert/alert.model.d.ts +0 -1
  180. package/lib/widgets/alert/alert.service.d.ts +0 -11
  181. package/lib/widgets/collapse-table/collapse-table.component.d.ts +0 -23
  182. package/lib/widgets/collapse-table/collapse-table.module.d.ts +0 -9
  183. package/lib/widgets/data-table/data-table.component.d.ts +0 -23
  184. package/lib/widgets/data-table/data-table.model.d.ts +0 -13
  185. package/lib/widgets/data-table/data-table.module.d.ts +0 -12
  186. package/lib/widgets/date-shortcut/date-shortcut.component.d.ts +0 -20
  187. package/lib/widgets/date-shortcut/date-shortcut.module.d.ts +0 -10
  188. package/lib/widgets/dialog/dialog.confirm.content.d.ts +0 -12
  189. package/lib/widgets/dialog/dialog.error.content.d.ts +0 -11
  190. package/lib/widgets/dialog/dialog.input.content.d.ts +0 -18
  191. package/lib/widgets/dialog/dialog.login.content.d.ts +0 -17
  192. package/lib/widgets/dialog/dialog.notify.content.d.ts +0 -11
  193. package/lib/widgets/dialog/dialog.register.content.d.ts +0 -13
  194. package/lib/widgets/dialog/dialog.select-array-objs.content.d.ts +0 -23
  195. package/lib/widgets/dialog/dialog.select-array.content.d.ts +0 -31
  196. package/lib/widgets/dialog/dialog.select-data-labels.content.d.ts +0 -22
  197. package/lib/widgets/dialog/dialog.select-datetime.content.d.ts +0 -21
  198. package/lib/widgets/dialog/dialog.select-with-buttons-url.content.d.ts +0 -25
  199. package/lib/widgets/dialog/dialog.service.d.ts +0 -21
  200. package/lib/widgets/file/file-upload.component.d.ts +0 -49
  201. package/lib/widgets/file/file-upload.module.d.ts +0 -14
  202. package/lib/widgets/form-button/form-button.component.d.ts +0 -15
  203. package/lib/widgets/form-button/form-button.module.d.ts +0 -9
  204. package/lib/widgets/navbar-main/navbar-main.component.d.ts +0 -52
  205. package/lib/widgets/navbar-module/navbar-module.component.d.ts +0 -24
  206. package/lib/widgets/navbar-module/navbar-module.model.d.ts +0 -13
  207. package/lib/widgets/responsive-button-group/responsive-button-group.component.d.ts +0 -17
  208. package/lib/widgets/responsive-button-group/responsive-button-group.module.d.ts +0 -8
  209. package/lib/widgets/scheduler/scheduler.component.d.ts +0 -50
  210. package/lib/widgets/scheduler/scheduler.module.d.ts +0 -11
  211. package/lib/widgets/sort-table/sort-table-header.component.d.ts +0 -23
  212. package/lib/widgets/sort-table/sort-table-ngfor.component.d.ts +0 -17
  213. package/lib/widgets/sort-table/sort-table.directive.d.ts +0 -48
  214. package/lib/widgets/sort-table/sort-table.module.d.ts +0 -11
  215. package/lib/widgets/user-role/user-role.component.d.ts +0 -10
  216. package/lib/widgets/user-role/user-role.module.d.ts +0 -8
  217. package/public_api.d.ts +0 -87
@@ -1,84 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { ProviderService, BaseComponent } from '../../resolveio-class';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../resolveio-class";
5
- import * as i2 from "@ng-bootstrap/ng-bootstrap";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "../collapse-table/collapse-table.component";
9
- export class DatatableComponent extends BaseComponent {
10
- _services;
11
- urlClick;
12
- columns;
13
- data;
14
- collapseSize;
15
- searchTitle;
16
- totalItems = 1000;
17
- onChangeTableData = new EventEmitter();
18
- tableData;
19
- constructor(_services) {
20
- super(_services);
21
- this._services = _services;
22
- }
23
- changeTableData() {
24
- this.onChangeTableData.emit();
25
- }
26
- sortColumn(colName) {
27
- if (this.tableData.sortColumn === colName) {
28
- if (this.tableData.sortOrder === 'desc') {
29
- this.tableData.sortOrder = 'asc';
30
- }
31
- else {
32
- this.tableData.sortOrder = 'desc';
33
- }
34
- }
35
- else {
36
- this.tableData.sortOrder = 'asc';
37
- this.tableData.sortColumn = colName;
38
- }
39
- this.changeTableData();
40
- }
41
- navigateTo(id, column) {
42
- if (column !== 'file_key' && id && this.urlClick) {
43
- this._services._router.navigateByUrl(this.urlClick + id);
44
- }
45
- }
46
- openFile(file_key) {
47
- this._services._socket.call('getSignedUrl', file_key, 900, (err, res) => {
48
- if (res) {
49
- window.open(res);
50
- }
51
- else {
52
- this._services._socket.call('insertErrorLog', 'Widgets-datatable - getsignedurl', [
53
- file_key, err
54
- ]);
55
- }
56
- });
57
- }
58
- typeOf(data) {
59
- return typeof (data);
60
- }
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatatableComponent, deps: [{ token: i1.ProviderService }], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatatableComponent, selector: "data-table", inputs: { urlClick: "urlClick", columns: "columns", data: "data", collapseSize: "collapseSize", searchTitle: "searchTitle", totalItems: "totalItems", tableData: "tableData" }, outputs: { onChangeTableData: "onChangeTableData" }, providers: [ProviderService], usesInheritance: true, ngImport: i0, template: "<style>\n .orangeRow { \n background-color: orangered;\n }\n\n collapse-table tr:hover {\n background-color: lightblue;\n cursor: pointer;\n }\n\n collapse-table {\n width: 100%;\n }\n</style>\n\n<div class=\"row\">\n <div class=\"input-group\">\n <span class=\"input-group-btn\">\n <button class=\"btn btn-primary\" type=\"button\" (click)=\"changeTableData()\">Search!</button>\n </span>\n <input type=\"text\" class=\"form-control\" placeholder=\"{{searchTitle}}\" [(ngModel)]=\"tableData.searchString\" (keyup.enter)=\"changeTableData()\" style=\"z-index: 0\">\n </div>\n</div>\n<div class=\"row\" style=\"padding-top: 20px;\">\n <collapse-table [collapseSize]=\"collapseSize\" headerFixed=\"true\">\n <thead>\n <tr>\n <th *ngFor=\"let column of columns\" (click)=\"sortColumn(column.data)\" style=\"cursor:pointer\">\n {{column.name}}\n <i *ngIf=\"tableData.sortColumn == column.data && tableData.sortOrder === 'desc'\" class=\"fa fa-caret-down\"></i>\n <i *ngIf=\"tableData.sortColumn == column.data && tableData.sortOrder === 'asc'\" class=\"fa fa-caret-up\"></i>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data\" [ngClass]=\"{'orangeRow': item['color_red']}\">\n <td *ngFor=\"let column of columns\" (click)=\"navigateTo(item['_id'], column.data)\" [attr.data-label]=\"column.name\">\n <span *ngIf=\"typeOf(item[column.data]) !== 'boolean' && column.data !== 'cost' && column.data !== 'wells' && column.data !== 'cost_total' && column.data !== 'price' && column.data !== 'date' && column.data !== 'date_created' && column.data !== 'date_delivered' && column.data !== 'quantity' && column.data !== 'quantity_string' && column.data !== 'min_stock' && column.data !== 'max_stock' && column.data !== 'file_key' && column.data !== 'date_in'\">{{column.subData ? item[column.data][column.subData] : item[column.data]}}</span>\n <span *ngIf=\"column.data === 'cost' || column.data === 'price' || column.data === 'cost_total'\">{{item[column.data] | currency:'USD':'symbol':\"1.2-2\"}}</span>\n <span *ngIf=\"column.data === 'date' || column.data === 'date_created' || column.data === 'date_delivered'\">{{item[column.data] | date:'short'}}</span>\n <span *ngIf=\"column.data === 'quantity' || column.data === 'min_stock' || column.data === 'max_stock'\">{{item[column.data] | number}}</span>\n <span *ngIf=\"column.data === 'quantity_string'\">{{item[column.data] | number}}</span>\n <span *ngIf=\"column.data === 'wells'\"><pre>{{item[column.data]}}</pre></span>\n <span *ngIf=\"column.data === 'file_key'\">\n <button type=\"button\" (click)=\"openFile(item[column.data])\" class=\"btn btn-secondary\">Open File</button>\n <!-- <button type=\"button\" class=\"btn btn-warning\" (click)=\"viewDeletedReason(item)\" *ngIf=\"item.deleted.is_deleted\">View Deleted Reason</button> -->\n </span>\n <span *ngIf=\"typeOf(item[column.data]) === 'boolean'\">\n <i *ngIf=\"item[column.data]\" class=\"fa fa-check\" style=\"color: green; font-size: 18px;\" aria-hidden=\"true\"></i>\n <i *ngIf=\"!item[column.data]\" class=\"fa fa-times\" style=\"color: red; font-size: 18px;\" aria-hidden=\"true\"></i>\n </span>\n </td>\n </tr>\n </tbody>\n </collapse-table> \n</div>\n<hr />\n<div class=\"row\">\n <div class=\"col-lg-4\">\n <div class=\"row\"> \n <div class=\"col-lg-8\">\n <label class=\"form-control-label\">Entries Per Page</label>\n <select class=\"form-control\" [(ngModel)]=\"tableData.entriesPerPage\" (ngModelChange)=\"changeTableData()\">\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n <option value=\"100\">100</option>\n <option value=\"250\">250</option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"col-lg-8\" style=\"margin-top: 16px;\">\n <ngb-pagination class=\"float-right\"\n boundaryLinks=\"true\"\n [collectionSize]=\"totalItems\"\n directionLinks=\"true\"\n ellipses=\"false\"\n [(page)]=\"tableData.pageNum\"\n maxSize=\"6\"\n [pageSize]=\"tableData.entriesPerPage\"\n rotate=\"true\"\n (pageChange)=\"changeTableData()\"\n >\n </ngb-pagination>\n </div>\n</div>\n", styles: ["\n .orangeRow { \n background-color: orangered;\n }\n\n collapse-table tr:hover {\n background-color: lightblue;\n cursor: pointer;\n }\n\n collapse-table {\n width: 100%;\n }\n"], dependencies: [{ kind: "component", type: i2.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.CollapseTableComponent, selector: "collapse-table", inputs: ["collapseSize", "tableFixed", "headerFixed", "secondaryColor", "tertiaryColor"] }, { kind: "pipe", type: i4.DecimalPipe, name: "number" }, { kind: "pipe", type: i4.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i4.DatePipe, name: "date" }] });
63
- }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatatableComponent, decorators: [{
65
- type: Component,
66
- args: [{ providers: [ProviderService], selector: 'data-table', template: "<style>\n .orangeRow { \n background-color: orangered;\n }\n\n collapse-table tr:hover {\n background-color: lightblue;\n cursor: pointer;\n }\n\n collapse-table {\n width: 100%;\n }\n</style>\n\n<div class=\"row\">\n <div class=\"input-group\">\n <span class=\"input-group-btn\">\n <button class=\"btn btn-primary\" type=\"button\" (click)=\"changeTableData()\">Search!</button>\n </span>\n <input type=\"text\" class=\"form-control\" placeholder=\"{{searchTitle}}\" [(ngModel)]=\"tableData.searchString\" (keyup.enter)=\"changeTableData()\" style=\"z-index: 0\">\n </div>\n</div>\n<div class=\"row\" style=\"padding-top: 20px;\">\n <collapse-table [collapseSize]=\"collapseSize\" headerFixed=\"true\">\n <thead>\n <tr>\n <th *ngFor=\"let column of columns\" (click)=\"sortColumn(column.data)\" style=\"cursor:pointer\">\n {{column.name}}\n <i *ngIf=\"tableData.sortColumn == column.data && tableData.sortOrder === 'desc'\" class=\"fa fa-caret-down\"></i>\n <i *ngIf=\"tableData.sortColumn == column.data && tableData.sortOrder === 'asc'\" class=\"fa fa-caret-up\"></i>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data\" [ngClass]=\"{'orangeRow': item['color_red']}\">\n <td *ngFor=\"let column of columns\" (click)=\"navigateTo(item['_id'], column.data)\" [attr.data-label]=\"column.name\">\n <span *ngIf=\"typeOf(item[column.data]) !== 'boolean' && column.data !== 'cost' && column.data !== 'wells' && column.data !== 'cost_total' && column.data !== 'price' && column.data !== 'date' && column.data !== 'date_created' && column.data !== 'date_delivered' && column.data !== 'quantity' && column.data !== 'quantity_string' && column.data !== 'min_stock' && column.data !== 'max_stock' && column.data !== 'file_key' && column.data !== 'date_in'\">{{column.subData ? item[column.data][column.subData] : item[column.data]}}</span>\n <span *ngIf=\"column.data === 'cost' || column.data === 'price' || column.data === 'cost_total'\">{{item[column.data] | currency:'USD':'symbol':\"1.2-2\"}}</span>\n <span *ngIf=\"column.data === 'date' || column.data === 'date_created' || column.data === 'date_delivered'\">{{item[column.data] | date:'short'}}</span>\n <span *ngIf=\"column.data === 'quantity' || column.data === 'min_stock' || column.data === 'max_stock'\">{{item[column.data] | number}}</span>\n <span *ngIf=\"column.data === 'quantity_string'\">{{item[column.data] | number}}</span>\n <span *ngIf=\"column.data === 'wells'\"><pre>{{item[column.data]}}</pre></span>\n <span *ngIf=\"column.data === 'file_key'\">\n <button type=\"button\" (click)=\"openFile(item[column.data])\" class=\"btn btn-secondary\">Open File</button>\n <!-- <button type=\"button\" class=\"btn btn-warning\" (click)=\"viewDeletedReason(item)\" *ngIf=\"item.deleted.is_deleted\">View Deleted Reason</button> -->\n </span>\n <span *ngIf=\"typeOf(item[column.data]) === 'boolean'\">\n <i *ngIf=\"item[column.data]\" class=\"fa fa-check\" style=\"color: green; font-size: 18px;\" aria-hidden=\"true\"></i>\n <i *ngIf=\"!item[column.data]\" class=\"fa fa-times\" style=\"color: red; font-size: 18px;\" aria-hidden=\"true\"></i>\n </span>\n </td>\n </tr>\n </tbody>\n </collapse-table> \n</div>\n<hr />\n<div class=\"row\">\n <div class=\"col-lg-4\">\n <div class=\"row\"> \n <div class=\"col-lg-8\">\n <label class=\"form-control-label\">Entries Per Page</label>\n <select class=\"form-control\" [(ngModel)]=\"tableData.entriesPerPage\" (ngModelChange)=\"changeTableData()\">\n <option value=\"25\">25</option>\n <option value=\"50\">50</option>\n <option value=\"100\">100</option>\n <option value=\"250\">250</option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"col-lg-8\" style=\"margin-top: 16px;\">\n <ngb-pagination class=\"float-right\"\n boundaryLinks=\"true\"\n [collectionSize]=\"totalItems\"\n directionLinks=\"true\"\n ellipses=\"false\"\n [(page)]=\"tableData.pageNum\"\n maxSize=\"6\"\n [pageSize]=\"tableData.entriesPerPage\"\n rotate=\"true\"\n (pageChange)=\"changeTableData()\"\n >\n </ngb-pagination>\n </div>\n</div>\n" }]
67
- }], ctorParameters: function () { return [{ type: i1.ProviderService }]; }, propDecorators: { urlClick: [{
68
- type: Input
69
- }], columns: [{
70
- type: Input
71
- }], data: [{
72
- type: Input
73
- }], collapseSize: [{
74
- type: Input
75
- }], searchTitle: [{
76
- type: Input
77
- }], totalItems: [{
78
- type: Input
79
- }], onChangeTableData: [{
80
- type: Output
81
- }], tableData: [{
82
- type: Input
83
- }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3dpZGdldHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQVF2RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQVVoQztJQVRYLFFBQVEsQ0FBUztJQUNqQixPQUFPLENBQTJCO0lBQ2xDLElBQUksQ0FBUTtJQUNaLFlBQVksQ0FBUztJQUNyQixXQUFXLENBQVM7SUFDcEIsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNqQixpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ2hELFNBQVMsQ0FBaUI7SUFFbkMsWUFBb0IsU0FBMEI7UUFDN0MsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBREUsY0FBUyxHQUFULFNBQVMsQ0FBaUI7SUFFOUMsQ0FBQztJQUVELGVBQWU7UUFDZCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFPO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEtBQUssT0FBTyxFQUFFO1lBQzFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO2dCQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDakM7aUJBQ0k7Z0JBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO2FBQ2xDO1NBQ0Q7YUFDSTtZQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7U0FDcEM7UUFFRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFVLEVBQUUsTUFBYztRQUNwQyxJQUFJLE1BQU0sS0FBSyxVQUFVLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDekQ7SUFDRixDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQWdCO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN2RSxJQUFJLEdBQUcsRUFBRTtnQkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2pCO2lCQUNJO2dCQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxrQ0FBa0MsRUFBRTtvQkFDakYsUUFBUSxFQUFFLEdBQUc7aUJBQ2IsQ0FBQyxDQUFDO2FBQ0g7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSTtRQUNWLE9BQU8sT0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7d0dBeERXLGtCQUFrQjs0RkFBbEIsa0JBQWtCLDBRQUxuQixDQUFDLGVBQWUsQ0FBQyxpRENMN0IsbTJKQXNGQTs7NEZENUVhLGtCQUFrQjtrQkFOOUIsU0FBUztnQ0FDRSxDQUFDLGVBQWUsQ0FBQyxZQUNsQixZQUFZO3NHQUtiLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0UsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhdGFibGVNb2RlbCwgRGF0YXRhYmxlQ29sdW1uIH0gZnJvbSAnLi9kYXRhLXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IFByb3ZpZGVyU2VydmljZSwgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Jlc29sdmVpby1jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuXHRwcm92aWRlcnM6IFtQcm92aWRlclNlcnZpY2VdLFxuXHRzZWxlY3RvcjogJ2RhdGEtdGFibGUnLFxuXHR0ZW1wbGF0ZVVybDogJy4vZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHsgXG5cdEBJbnB1dCgpIHVybENsaWNrOiBzdHJpbmc7XG5cdEBJbnB1dCgpIGNvbHVtbnM6IEFycmF5PERhdGF0YWJsZUNvbHVtbltdPjtcblx0QElucHV0KCkgZGF0YTogYW55W107XG5cdEBJbnB1dCgpIGNvbGxhcHNlU2l6ZTogbnVtYmVyO1xuXHRASW5wdXQoKSBzZWFyY2hUaXRsZTogc3RyaW5nO1xuXHRASW5wdXQoKSB0b3RhbEl0ZW1zID0gMTAwMDtcblx0QE91dHB1dCgpIG9uQ2hhbmdlVGFibGVEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxPYmplY3Q+KCk7XG5cdEBJbnB1dCgpIHRhYmxlRGF0YTogRGF0YXRhYmxlTW9kZWw7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfc2VydmljZXM6IFByb3ZpZGVyU2VydmljZSkge1xuXHRcdHN1cGVyKF9zZXJ2aWNlcyk7XG5cdH1cblxuXHRjaGFuZ2VUYWJsZURhdGEoKSB7XG5cdFx0dGhpcy5vbkNoYW5nZVRhYmxlRGF0YS5lbWl0KCk7XG5cdH1cblxuXHRzb3J0Q29sdW1uKGNvbE5hbWUpIHtcblx0XHRpZiAodGhpcy50YWJsZURhdGEuc29ydENvbHVtbiA9PT0gY29sTmFtZSkge1xuXHRcdFx0aWYgKHRoaXMudGFibGVEYXRhLnNvcnRPcmRlciA9PT0gJ2Rlc2MnKSB7XG5cdFx0XHRcdHRoaXMudGFibGVEYXRhLnNvcnRPcmRlciA9ICdhc2MnO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSB7XG5cdFx0XHRcdHRoaXMudGFibGVEYXRhLnNvcnRPcmRlciA9ICdkZXNjJztcblx0XHRcdH1cblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHR0aGlzLnRhYmxlRGF0YS5zb3J0T3JkZXIgPSAnYXNjJztcblx0XHRcdHRoaXMudGFibGVEYXRhLnNvcnRDb2x1bW4gPSBjb2xOYW1lO1xuXHRcdH1cblxuXHRcdHRoaXMuY2hhbmdlVGFibGVEYXRhKCk7XG5cdH1cblxuXHRuYXZpZ2F0ZVRvKGlkOiBzdHJpbmcsIGNvbHVtbjogc3RyaW5nKSB7XG5cdFx0aWYgKGNvbHVtbiAhPT0gJ2ZpbGVfa2V5JyAmJiBpZCAmJiB0aGlzLnVybENsaWNrKSB7XG5cdFx0XHR0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51cmxDbGljayArIGlkKTtcblx0XHR9XG5cdH1cblxuXHRvcGVuRmlsZShmaWxlX2tleTogc3RyaW5nKSB7XG5cdFx0dGhpcy5fc2VydmljZXMuX3NvY2tldC5jYWxsKCdnZXRTaWduZWRVcmwnLCBmaWxlX2tleSwgOTAwLCAoZXJyLCByZXMpID0+IHtcblx0XHRcdGlmIChyZXMpIHtcblx0XHRcdFx0d2luZG93Lm9wZW4ocmVzKTtcblx0XHRcdH1cblx0XHRcdGVsc2Uge1xuXHRcdFx0XHR0aGlzLl9zZXJ2aWNlcy5fc29ja2V0LmNhbGwoJ2luc2VydEVycm9yTG9nJywgJ1dpZGdldHMtZGF0YXRhYmxlIC0gZ2V0c2lnbmVkdXJsJywgW1xuXHRcdFx0XHRcdGZpbGVfa2V5LCBlcnJcblx0XHRcdFx0XSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHR0eXBlT2YoZGF0YSkge1xuXHRcdHJldHVybiB0eXBlb2YoZGF0YSk7XG5cdH1cbn1cbiIsIjxzdHlsZT5cbiAgICAub3JhbmdlUm93IHsgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG9yYW5nZXJlZDtcbiAgICB9XG5cbiAgICBjb2xsYXBzZS10YWJsZSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIGNvbGxhcHNlLXRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuPC9zdHlsZT5cblxuPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2hhbmdlVGFibGVEYXRhKClcIj5TZWFyY2ghPC9idXR0b24+XG4gICAgICA8L3NwYW4+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwie3tzZWFyY2hUaXRsZX19XCIgWyhuZ01vZGVsKV09XCJ0YWJsZURhdGEuc2VhcmNoU3RyaW5nXCIgKGtleXVwLmVudGVyKT1cImNoYW5nZVRhYmxlRGF0YSgpXCIgc3R5bGU9XCJ6LWluZGV4OiAwXCI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAyMHB4O1wiPlxuICAgIDxjb2xsYXBzZS10YWJsZSBbY29sbGFwc2VTaXplXT1cImNvbGxhcHNlU2l6ZVwiIGhlYWRlckZpeGVkPVwidHJ1ZVwiPlxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiIChjbGljayk9XCJzb3J0Q29sdW1uKGNvbHVtbi5kYXRhKVwiIHN0eWxlPVwiY3Vyc29yOnBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAge3tjb2x1bW4ubmFtZX19XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwidGFibGVEYXRhLnNvcnRDb2x1bW4gPT0gY29sdW1uLmRhdGEgJiYgdGFibGVEYXRhLnNvcnRPcmRlciA9PT0gJ2Rlc2MnXCIgY2xhc3M9XCJmYSBmYS1jYXJldC1kb3duXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInRhYmxlRGF0YS5zb3J0Q29sdW1uID09IGNvbHVtbi5kYXRhICYmIHRhYmxlRGF0YS5zb3J0T3JkZXIgPT09ICdhc2MnXCIgY2xhc3M9XCJmYSBmYS1jYXJldC11cFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFcIiBbbmdDbGFzc109XCJ7J29yYW5nZVJvdyc6IGl0ZW1bJ2NvbG9yX3JlZCddfVwiPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIiAoY2xpY2spPVwibmF2aWdhdGVUbyhpdGVtWydfaWQnXSwgY29sdW1uLmRhdGEpXCIgW2F0dHIuZGF0YS1sYWJlbF09XCJjb2x1bW4ubmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInR5cGVPZihpdGVtW2NvbHVtbi5kYXRhXSkgIT09ICdib29sZWFuJyAmJiBjb2x1bW4uZGF0YSAhPT0gJ2Nvc3QnICYmIGNvbHVtbi5kYXRhICE9PSAnd2VsbHMnICYmIGNvbHVtbi5kYXRhICE9PSAnY29zdF90b3RhbCcgJiYgY29sdW1uLmRhdGEgIT09ICdwcmljZScgJiYgY29sdW1uLmRhdGEgIT09ICdkYXRlJyAmJiBjb2x1bW4uZGF0YSAhPT0gJ2RhdGVfY3JlYXRlZCcgJiYgY29sdW1uLmRhdGEgIT09ICdkYXRlX2RlbGl2ZXJlZCcgJiYgY29sdW1uLmRhdGEgIT09ICdxdWFudGl0eScgJiYgY29sdW1uLmRhdGEgIT09ICdxdWFudGl0eV9zdHJpbmcnICYmIGNvbHVtbi5kYXRhICE9PSAnbWluX3N0b2NrJyAmJiBjb2x1bW4uZGF0YSAhPT0gJ21heF9zdG9jaycgJiYgY29sdW1uLmRhdGEgIT09ICdmaWxlX2tleScgJiYgY29sdW1uLmRhdGEgIT09ICdkYXRlX2luJ1wiPnt7Y29sdW1uLnN1YkRhdGEgPyBpdGVtW2NvbHVtbi5kYXRhXVtjb2x1bW4uc3ViRGF0YV0gOiBpdGVtW2NvbHVtbi5kYXRhXX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbHVtbi5kYXRhID09PSAnY29zdCcgfHwgY29sdW1uLmRhdGEgPT09ICdwcmljZScgfHwgY29sdW1uLmRhdGEgPT09ICdjb3N0X3RvdGFsJ1wiPnt7aXRlbVtjb2x1bW4uZGF0YV0gfCBjdXJyZW5jeTonVVNEJzonc3ltYm9sJzpcIjEuMi0yXCJ9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb2x1bW4uZGF0YSA9PT0gJ2RhdGUnIHx8IGNvbHVtbi5kYXRhID09PSAnZGF0ZV9jcmVhdGVkJyB8fCBjb2x1bW4uZGF0YSA9PT0gJ2RhdGVfZGVsaXZlcmVkJ1wiPnt7aXRlbVtjb2x1bW4uZGF0YV0gfCBkYXRlOidzaG9ydCd9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb2x1bW4uZGF0YSA9PT0gJ3F1YW50aXR5JyB8fCBjb2x1bW4uZGF0YSA9PT0gJ21pbl9zdG9jaycgfHwgY29sdW1uLmRhdGEgPT09ICdtYXhfc3RvY2snXCI+e3tpdGVtW2NvbHVtbi5kYXRhXSB8IG51bWJlcn19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbHVtbi5kYXRhID09PSAncXVhbnRpdHlfc3RyaW5nJ1wiPnt7aXRlbVtjb2x1bW4uZGF0YV0gfCBudW1iZXJ9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb2x1bW4uZGF0YSA9PT0gJ3dlbGxzJ1wiPjxwcmU+e3tpdGVtW2NvbHVtbi5kYXRhXX19PC9wcmU+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbHVtbi5kYXRhID09PSAnZmlsZV9rZXknXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3BlbkZpbGUoaXRlbVtjb2x1bW4uZGF0YV0pXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiPk9wZW4gRmlsZTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIChjbGljayk9XCJ2aWV3RGVsZXRlZFJlYXNvbihpdGVtKVwiICpuZ0lmPVwiaXRlbS5kZWxldGVkLmlzX2RlbGV0ZWRcIj5WaWV3IERlbGV0ZWQgUmVhc29uPC9idXR0b24+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZU9mKGl0ZW1bY29sdW1uLmRhdGFdKSA9PT0gJ2Jvb2xlYW4nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIml0ZW1bY29sdW1uLmRhdGFdXCIgY2xhc3M9XCJmYSBmYS1jaGVja1wiIHN0eWxlPVwiY29sb3I6IGdyZWVuOyBmb250LXNpemU6IDE4cHg7XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhaXRlbVtjb2x1bW4uZGF0YV1cIiBjbGFzcz1cImZhIGZhLXRpbWVzXCIgc3R5bGU9XCJjb2xvcjogcmVkOyBmb250LXNpemU6IDE4cHg7XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgPC9jb2xsYXBzZS10YWJsZT4gXG48L2Rpdj5cbjxociAvPlxuPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+IFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy04XCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+RW50cmllcyBQZXIgUGFnZTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwidGFibGVEYXRhLmVudHJpZXNQZXJQYWdlXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlVGFibGVEYXRhKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjI1XCI+MjU8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjUwXCI+NTA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjEwMFwiPjEwMDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMjUwXCI+MjUwPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy04XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxNnB4O1wiPlxuICAgICAgICA8bmdiLXBhZ2luYXRpb24gY2xhc3M9XCJmbG9hdC1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIGJvdW5kYXJ5TGlua3M9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25TaXplXT1cInRvdGFsSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb25MaW5rcz1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBlbGxpcHNlcz1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgWyhwYWdlKV09XCJ0YWJsZURhdGEucGFnZU51bVwiXG4gICAgICAgICAgICAgICAgICAgIG1heFNpemU9XCI2XCJcbiAgICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplXT1cInRhYmxlRGF0YS5lbnRyaWVzUGVyUGFnZVwiXG4gICAgICAgICAgICAgICAgICAgIHJvdGF0ZT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJjaGFuZ2VUYWJsZURhdGEoKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgPC9uZ2ItcGFnaW5hdGlvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi93aWRnZXRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEYXRhdGFibGVNb2RlbCB7XG5cdHNlYXJjaFN0cmluZzogc3RyaW5nO1xuXHRlbnRyaWVzUGVyUGFnZTogc3RyaW5nO1xuXHRwYWdlTnVtOiBudW1iZXI7XG5cdHNvcnRDb2x1bW46IHN0cmluZztcblx0c29ydE9yZGVyOiBzdHJpbmc7IFxuXHRmaWx0ZXJzPzogT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGF0YWJsZUNvbHVtbiB7XG5cdG5hbWU6IHN0cmluZztcblx0ZGF0YTogc3RyaW5nO1xuXHRzdWJEYXRhPzogc3RyaW5nO1xufVxuIl19
@@ -1,41 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
3
- import { FormsModule } from '@angular/forms';
4
- import { CommonModule } from '@angular/common';
5
- import { RouterModule } from '@angular/router';
6
- import { CollapseTableModule } from '../collapse-table/collapse-table.module';
7
- import { DatatableComponent } from './data-table.component';
8
- import * as i0 from "@angular/core";
9
- export class DatatableModule {
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatatableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DatatableModule, declarations: [DatatableComponent], imports: [NgbModule,
12
- FormsModule,
13
- CommonModule,
14
- RouterModule,
15
- CollapseTableModule], exports: [DatatableComponent] });
16
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatatableModule, imports: [NgbModule,
17
- FormsModule,
18
- CommonModule,
19
- RouterModule,
20
- CollapseTableModule] });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatatableModule, decorators: [{
23
- type: NgModule,
24
- args: [{
25
- imports: [
26
- NgbModule,
27
- FormsModule,
28
- CommonModule,
29
- RouterModule,
30
- CollapseTableModule
31
- ],
32
- exports: [
33
- DatatableComponent
34
- ],
35
- declarations: [
36
- DatatableComponent
37
- ],
38
- providers: []
39
- }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kYXRhLXRhYmxlL2RhdGEtdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWtCNUQsTUFBTSxPQUFPLGVBQWU7d0dBQWYsZUFBZTt5R0FBZixlQUFlLGlCQUoxQixrQkFBa0IsYUFWbEIsU0FBUztZQUNULFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLG1CQUFtQixhQUduQixrQkFBa0I7eUdBT1AsZUFBZSxZQWQxQixTQUFTO1lBQ1QsV0FBVztZQUNYLFlBQVk7WUFDWixZQUFZO1lBQ1osbUJBQW1COzs0RkFVUixlQUFlO2tCQWhCM0IsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUU7d0JBQ1IsU0FBUzt3QkFDVCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixtQkFBbUI7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUixrQkFBa0I7cUJBQ2xCO29CQUNELFlBQVksRUFBRTt3QkFDYixrQkFBa0I7cUJBQ2xCO29CQUNELFNBQVMsRUFBRSxFQUFHO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1x0XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBDb2xsYXBzZVRhYmxlTW9kdWxlIH0gZnJvbSAnLi4vY29sbGFwc2UtdGFibGUvY29sbGFwc2UtdGFibGUubW9kdWxlJztcblxuXG5pbXBvcnQgeyBEYXRhdGFibGVDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdGFibGUuY29tcG9uZW50JztcdFx0XHRcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogW1xuXHRcdE5nYk1vZHVsZSxcblx0XHRGb3Jtc01vZHVsZSxcblx0XHRDb21tb25Nb2R1bGUsXG5cdFx0Um91dGVyTW9kdWxlLFxuXHRcdENvbGxhcHNlVGFibGVNb2R1bGVcblx0XSxcblx0ZXhwb3J0czogW1xuXHRcdERhdGF0YWJsZUNvbXBvbmVudFxuXHRdLFxuXHRkZWNsYXJhdGlvbnM6IFtcblx0XHREYXRhdGFibGVDb21wb25lbnRcblx0XSxcblx0cHJvdmlkZXJzOiBbIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlTW9kdWxlIHsgfVxuIl19
@@ -1,198 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
2
- import moment from 'moment';
3
- import { ProviderService, BaseComponent } from '../../resolveio-class';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../resolveio-class";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@ng-select/ng-select";
8
- export class DateShortcutComponent extends BaseComponent {
9
- _services;
10
- _cd;
11
- startDateObj;
12
- endDateObj;
13
- startDateObjChange = new EventEmitter();
14
- endDateObjChange = new EventEmitter();
15
- datesChanged = new EventEmitter();
16
- shortcutValue = null;
17
- shortcutValueChange = new EventEmitter();
18
- constructor(_services, _cd) {
19
- super(_services);
20
- this._services = _services;
21
- this._cd = _cd;
22
- }
23
- ngOnInit() {
24
- this.onSelectShortcut();
25
- }
26
- reset() {
27
- this.shortcutValue = null;
28
- this.shortcutValueChange.emit(this.shortcutValue);
29
- this._cd.detectChanges();
30
- }
31
- onSelectShortcut() {
32
- if (this.shortcutValue) {
33
- let startDate = moment(new Date(this.startDateObj['year'], this.startDateObj['month'] - 1, this.startDateObj['day'])).toDate();
34
- let endDate = moment(new Date(this.endDateObj['year'], this.endDateObj['month'] - 1, this.endDateObj['day'])).toDate();
35
- if (this.shortcutValue === 'Q1') {
36
- startDate = moment().startOf('year').toDate();
37
- endDate = moment().startOf('year').quarter(2).subtract(1, 'days').toDate();
38
- }
39
- else if (this.shortcutValue === 'Q2') {
40
- startDate = moment().startOf('year').quarter(2).toDate();
41
- endDate = moment().startOf('year').quarter(3).subtract(1, 'days').toDate();
42
- }
43
- else if (this.shortcutValue === 'Q3') {
44
- startDate = moment().startOf('year').quarter(3).toDate();
45
- endDate = moment().startOf('year').quarter(4).subtract(1, 'days').toDate();
46
- }
47
- else if (this.shortcutValue === 'Q4') {
48
- startDate = moment().startOf('year').quarter(4).toDate();
49
- endDate = moment().endOf('year').toDate();
50
- }
51
- else if (this.shortcutValue === 'Last Q1') {
52
- startDate = moment().startOf('year').subtract(1, 'year').toDate();
53
- endDate = moment().startOf('year').subtract(1, 'year').quarter(2).subtract(1, 'days').toDate();
54
- }
55
- else if (this.shortcutValue === 'Last Q2') {
56
- startDate = moment().startOf('year').subtract(1, 'year').quarter(2).toDate();
57
- endDate = moment().startOf('year').subtract(1, 'year').quarter(3).subtract(1, 'days').toDate();
58
- }
59
- else if (this.shortcutValue === 'Last Q3') {
60
- startDate = moment().startOf('year').subtract(1, 'year').quarter(3).toDate();
61
- endDate = moment().startOf('year').subtract(1, 'year').quarter(4).subtract(1, 'days').toDate();
62
- }
63
- else if (this.shortcutValue === 'Last Q4') {
64
- startDate = moment().startOf('year').subtract(1, 'year').quarter(4).toDate();
65
- endDate = moment().endOf('year').subtract(1, 'year').toDate();
66
- }
67
- else if (this.shortcutValue === 'Today') {
68
- startDate = moment().startOf('day').toDate();
69
- endDate = new Date();
70
- }
71
- else if (this.shortcutValue === 'Yesterday') {
72
- startDate = moment().subtract(1, 'days').startOf('day').toDate();
73
- endDate = moment().subtract(1, 'days').endOf('day').toDate();
74
- }
75
- else if (this.shortcutValue === 'Week') {
76
- startDate = moment().startOf('isoWeek').toDate();
77
- endDate = new Date();
78
- }
79
- else if (this.shortcutValue === 'Last Week') {
80
- endDate = moment().startOf('isoWeek').subtract(1, 'days').toDate();
81
- startDate = moment(endDate).startOf('isoWeek').toDate();
82
- }
83
- else if (this.shortcutValue === 'Month') {
84
- startDate = moment().startOf('month').toDate();
85
- endDate = new Date();
86
- }
87
- else if (this.shortcutValue === 'Last Month') {
88
- endDate = moment().startOf('month').subtract(1, 'days').endOf('day').toDate();
89
- startDate = moment(endDate).startOf('month').toDate();
90
- }
91
- else if (this.shortcutValue === 'Last 30 Days') {
92
- endDate = new Date();
93
- startDate = moment().subtract(30, 'days').startOf('day').toDate();
94
- }
95
- else if (this.shortcutValue === 'Quarter') {
96
- startDate = moment().startOf('year').quarter(moment().quarter()).toDate();
97
- endDate = new Date();
98
- }
99
- else if (this.shortcutValue === 'Last Quarter') {
100
- endDate = moment().startOf('year').quarter(moment().quarter()).subtract(1, 'days').endOf('day').toDate();
101
- startDate = moment(endDate).startOf('quarter').toDate();
102
- }
103
- else if (this.shortcutValue === 'Year') {
104
- startDate = moment().startOf('year').toDate();
105
- endDate = new Date();
106
- }
107
- else if (this.shortcutValue === 'Last Year') {
108
- endDate = moment().startOf('year').subtract(1, 'days').endOf('day').toDate();
109
- startDate = moment(endDate).startOf('year').toDate();
110
- }
111
- else if (this.shortcutValue === 'All') {
112
- startDate = new Date(2017, 0, 1, 0, 0, 0, 0);
113
- endDate = new Date();
114
- }
115
- this.startDateObj = { year: startDate.getFullYear(), month: startDate.getMonth() + 1, day: startDate.getDate() };
116
- this.endDateObj = { year: endDate.getFullYear(), month: endDate.getMonth() + 1, day: endDate.getDate() };
117
- this.startDateObjChange.emit(this.startDateObj);
118
- this.endDateObjChange.emit(this.endDateObj);
119
- this.datesChanged.emit([this.startDateObj, this.endDateObj]);
120
- this.shortcutValueChange.emit(this.shortcutValue);
121
- }
122
- this._cd.detectChanges();
123
- }
124
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateShortcutComponent, deps: [{ token: i1.ProviderService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
125
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateShortcutComponent, selector: "date-shortcut", inputs: { startDateObj: "startDateObj", endDateObj: "endDateObj", shortcutValue: "shortcutValue" }, outputs: { startDateObjChange: "startDateObjChange", endDateObjChange: "endDateObjChange", datesChanged: "datesChanged", shortcutValueChange: "shortcutValueChange" }, providers: [ProviderService], usesInheritance: true, ngImport: i0, template: `
126
- <label class="form-control-label">Date Shortcuts</label>
127
- <ng-select [(ngModel)]="shortcutValue" (change)="onSelectShortcut()" placeholder="Select Shortcut" [clearable]="false">
128
- <ng-option value="Today">Today</ng-option>
129
- <ng-option value="Yesterday">Yesterday</ng-option>
130
- <ng-option value="Week">This Week</ng-option>
131
- <ng-option value="Last Week">Last Week</ng-option>
132
- <ng-option value="Month">This Month</ng-option>
133
- <ng-option value="Last Month">Last Month</ng-option>
134
- <ng-option value="Last 30 Days">Last 30 Days</ng-option>
135
- <ng-option value="Quarter">This Quarter</ng-option>
136
- <ng-option value="Last Quarter">Last Quarter</ng-option>
137
- <ng-option value="Year">This Year</ng-option>
138
- <ng-option value="Last Year">Last Year</ng-option>
139
- <ng-option value="Q1">Q1</ng-option>
140
- <ng-option value="Q2">Q2</ng-option>
141
- <ng-option value="Q3">Q3</ng-option>
142
- <ng-option value="Q4">Q4</ng-option>
143
- <ng-option value="Last Q1">Last Q1</ng-option>
144
- <ng-option value="Last Q2">Last Q2</ng-option>
145
- <ng-option value="Last Q3">Last Q3</ng-option>
146
- <ng-option value="Last Q4">Last Q4</ng-option>
147
- <ng-option value="All">All</ng-option>
148
- </ng-select>
149
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i3.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
150
- }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateShortcutComponent, decorators: [{
152
- type: Component,
153
- args: [{
154
- providers: [ProviderService],
155
- selector: 'date-shortcut',
156
- template: `
157
- <label class="form-control-label">Date Shortcuts</label>
158
- <ng-select [(ngModel)]="shortcutValue" (change)="onSelectShortcut()" placeholder="Select Shortcut" [clearable]="false">
159
- <ng-option value="Today">Today</ng-option>
160
- <ng-option value="Yesterday">Yesterday</ng-option>
161
- <ng-option value="Week">This Week</ng-option>
162
- <ng-option value="Last Week">Last Week</ng-option>
163
- <ng-option value="Month">This Month</ng-option>
164
- <ng-option value="Last Month">Last Month</ng-option>
165
- <ng-option value="Last 30 Days">Last 30 Days</ng-option>
166
- <ng-option value="Quarter">This Quarter</ng-option>
167
- <ng-option value="Last Quarter">Last Quarter</ng-option>
168
- <ng-option value="Year">This Year</ng-option>
169
- <ng-option value="Last Year">Last Year</ng-option>
170
- <ng-option value="Q1">Q1</ng-option>
171
- <ng-option value="Q2">Q2</ng-option>
172
- <ng-option value="Q3">Q3</ng-option>
173
- <ng-option value="Q4">Q4</ng-option>
174
- <ng-option value="Last Q1">Last Q1</ng-option>
175
- <ng-option value="Last Q2">Last Q2</ng-option>
176
- <ng-option value="Last Q3">Last Q3</ng-option>
177
- <ng-option value="Last Q4">Last Q4</ng-option>
178
- <ng-option value="All">All</ng-option>
179
- </ng-select>
180
- `,
181
- changeDetection: ChangeDetectionStrategy.OnPush
182
- }]
183
- }], ctorParameters: function () { return [{ type: i1.ProviderService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { startDateObj: [{
184
- type: Input
185
- }], endDateObj: [{
186
- type: Input
187
- }], startDateObjChange: [{
188
- type: Output
189
- }], endDateObjChange: [{
190
- type: Output
191
- }], datesChanged: [{
192
- type: Output
193
- }], shortcutValue: [{
194
- type: Input
195
- }], shortcutValueChange: [{
196
- type: Output
197
- }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1zaG9ydGN1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kYXRlLXNob3J0Y3V0L2RhdGUtc2hvcnRjdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBaUN2RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQVNuQztJQUFvQztJQVIvQyxZQUFZLENBQUM7SUFDYixVQUFVLENBQUM7SUFDVixrQkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ2hELGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDOUMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDbkMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNwQixtQkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTNELFlBQW9CLFNBQTBCLEVBQVUsR0FBc0I7UUFDN0UsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBREUsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUU5RSxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLO1FBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2YsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9ILElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRXZILElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hDLFNBQVMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzlDLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDM0U7aUJBQ0ksSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtnQkFDckMsU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3pELE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDM0U7aUJBQ0ksSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtnQkFDckMsU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3pELE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDM0U7aUJBQ0ksSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtnQkFDckMsU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3pELE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDMUM7aUJBQ0ksSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRTtnQkFDMUMsU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNsRSxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxF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QkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRSxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5pbXBvcnQgeyBQcm92aWRlclNlcnZpY2UsIEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9yZXNvbHZlaW8tY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcblx0cHJvdmlkZXJzOiBbUHJvdmlkZXJTZXJ2aWNlXSxcblx0c2VsZWN0b3I6ICdkYXRlLXNob3J0Y3V0Jyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5EYXRlIFNob3J0Y3V0czwvbGFiZWw+XG5cdFx0PG5nLXNlbGVjdCBbKG5nTW9kZWwpXT1cInNob3J0Y3V0VmFsdWVcIiAoY2hhbmdlKT1cIm9uU2VsZWN0U2hvcnRjdXQoKVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFNob3J0Y3V0XCIgW2NsZWFyYWJsZV09XCJmYWxzZVwiPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIlRvZGF5XCI+VG9kYXk8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJZZXN0ZXJkYXlcIj5ZZXN0ZXJkYXk8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJXZWVrXCI+VGhpcyBXZWVrPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiTGFzdCBXZWVrXCI+TGFzdCBXZWVrPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiTW9udGhcIj5UaGlzIE1vbnRoPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiTGFzdCBNb250aFwiPkxhc3QgTW9udGg8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJMYXN0IDMwIERheXNcIj5MYXN0IDMwIERheXM8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJRdWFydGVyXCI+VGhpcyBRdWFydGVyPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiTGFzdCBRdWFydGVyXCI+TGFzdCBRdWFydGVyPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiWWVhclwiPlRoaXMgWWVhcjwvbmctb3B0aW9uPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIkxhc3QgWWVhclwiPkxhc3QgWWVhcjwvbmctb3B0aW9uPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIlExXCI+UTE8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJRMlwiPlEyPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiUTNcIj5RMzwvbmctb3B0aW9uPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIlE0XCI+UTQ8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJMYXN0IFExXCI+TGFzdCBRMTwvbmctb3B0aW9uPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIkxhc3QgUTJcIj5MYXN0IFEyPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiTGFzdCBRM1wiPkxhc3QgUTM8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJMYXN0IFE0XCI+TGFzdCBRNDwvbmctb3B0aW9uPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIkFsbFwiPkFsbDwvbmctb3B0aW9uPlxuXHRcdDwvbmctc2VsZWN0PlxuXHRgLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIERhdGVTaG9ydGN1dENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQgeyBcblx0QElucHV0KCkgc3RhcnREYXRlT2JqO1xuXHRASW5wdXQoKSBlbmREYXRlT2JqO1xuXHRAT3V0cHV0KCkgc3RhcnREYXRlT2JqQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPYmplY3Q+KCk7XG5cdEBPdXRwdXQoKSBlbmREYXRlT2JqQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPYmplY3Q+KCk7XG5cdEBPdXRwdXQoKSBkYXRlc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cdEBJbnB1dCgpIHNob3J0Y3V0VmFsdWUgPSBudWxsO1xuXHRAT3V0cHV0KCkgc2hvcnRjdXRWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3RyaW5nPigpO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2VzOiBQcm92aWRlclNlcnZpY2UsIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuXHRcdHN1cGVyKF9zZXJ2aWNlcyk7XG5cdH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLm9uU2VsZWN0U2hvcnRjdXQoKTtcblx0fVxuXG5cdHJlc2V0KCkge1xuXHRcdHRoaXMuc2hvcnRjdXRWYWx1ZSA9IG51bGw7XG5cdFx0dGhpcy5zaG9ydGN1dFZhbHVlQ2hhbmdlLmVtaXQodGhpcy5zaG9ydGN1dFZhbHVlKTtcblxuXHRcdHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcblx0fVxuXG5cdG9uU2VsZWN0U2hvcnRjdXQoKSB7XG5cdFx0aWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSkge1xuXHRcdFx0bGV0IHN0YXJ0RGF0ZSA9IG1vbWVudChuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZU9ialsneWVhciddLCB0aGlzLnN0YXJ0RGF0ZU9ialsnbW9udGgnXSAtIDEsIHRoaXMuc3RhcnREYXRlT2JqWydkYXknXSkpLnRvRGF0ZSgpO1xuXHRcdFx0bGV0IGVuZERhdGUgPSBtb21lbnQobmV3IERhdGUodGhpcy5lbmREYXRlT2JqWyd5ZWFyJ10sIHRoaXMuZW5kRGF0ZU9ialsnbW9udGgnXSAtIDEsIHRoaXMuZW5kRGF0ZU9ialsnZGF5J10pKS50b0RhdGUoKTtcblxuXHRcdFx0aWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1ExJykge1xuXHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykudG9EYXRlKCk7XG5cdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykucXVhcnRlcigyKS5zdWJ0cmFjdCgxLCAnZGF5cycpLnRvRGF0ZSgpO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnUTInKSB7XG5cdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5xdWFydGVyKDIpLnRvRGF0ZSgpO1xuXHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnF1YXJ0ZXIoMykuc3VidHJhY3QoMSwgJ2RheXMnKS50b0RhdGUoKTtcblx0XHRcdH1cblx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1EzJykge1xuXHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykucXVhcnRlcigzKS50b0RhdGUoKTtcblx0XHRcdFx0ZW5kRGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5xdWFydGVyKDQpLnN1YnRyYWN0KDEsICdkYXlzJykudG9EYXRlKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdRNCcpIHtcblx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnF1YXJ0ZXIoNCkudG9EYXRlKCk7XG5cdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5lbmRPZigneWVhcicpLnRvRGF0ZSgpO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnTGFzdCBRMScpIHtcblx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnN1YnRyYWN0KDEsICd5ZWFyJykudG9EYXRlKCk7XG5cdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykuc3VidHJhY3QoMSwgJ3llYXInKS5xdWFydGVyKDIpLnN1YnRyYWN0KDEsICdkYXlzJykudG9EYXRlKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IFEyJykge1xuXHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykuc3VidHJhY3QoMSwgJ3llYXInKS5xdWFydGVyKDIpLnRvRGF0ZSgpO1xuXHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnN1YnRyYWN0KDEsICd5ZWFyJykucXVhcnRlcigzKS5zdWJ0cmFjdCgxLCAnZGF5cycpLnRvRGF0ZSgpO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnTGFzdCBRMycpIHtcblx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnN1YnRyYWN0KDEsICd5ZWFyJykucXVhcnRlcigzKS50b0RhdGUoKTtcblx0XHRcdFx0ZW5kRGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5zdWJ0cmFjdCgxLCAneWVhcicpLnF1YXJ0ZXIoNCkuc3VidHJhY3QoMSwgJ2RheXMnKS50b0RhdGUoKTtcblx0XHRcdH1cblx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ0xhc3QgUTQnKSB7XG5cdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5zdWJ0cmFjdCgxLCAneWVhcicpLnF1YXJ0ZXIoNCkudG9EYXRlKCk7XG5cdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5lbmRPZigneWVhcicpLnN1YnRyYWN0KDEsICd5ZWFyJykudG9EYXRlKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdUb2RheScpIHtcblx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZignZGF5JykudG9EYXRlKCk7XG5cdFx0XHRcdGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnWWVzdGVyZGF5Jykge1xuXHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAnZGF5cycpLnN0YXJ0T2YoJ2RheScpLnRvRGF0ZSgpO1xuXHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ2RheXMnKS5lbmRPZignZGF5JykudG9EYXRlKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdXZWVrJykge1xuXHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCdpc29XZWVrJykudG9EYXRlKCk7XG5cdFx0XHRcdGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnTGFzdCBXZWVrJykge1xuXHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZignaXNvV2VlaycpLnN1YnRyYWN0KDEsICdkYXlzJykudG9EYXRlKCk7XG5cdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudChlbmREYXRlKS5zdGFydE9mKCdpc29XZWVrJykudG9EYXRlKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdNb250aCcpIHtcblx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZignbW9udGgnKS50b0RhdGUoKTtcblx0XHRcdFx0ZW5kRGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IE1vbnRoJykge1xuXHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZignbW9udGgnKS5zdWJ0cmFjdCgxLCAnZGF5cycpLmVuZE9mKCdkYXknKS50b0RhdGUoKTtcblx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KGVuZERhdGUpLnN0YXJ0T2YoJ21vbnRoJykudG9EYXRlKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IDMwIERheXMnKSB7XG5cdFx0XHRcdGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdWJ0cmFjdCgzMCwgJ2RheXMnKS5zdGFydE9mKCdkYXknKS50b0RhdGUoKTtcblx0XHRcdH1cblx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1F1YXJ0ZXInKSB7XG5cdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5xdWFydGVyKG1vbWVudCgpLnF1YXJ0ZXIoKSkudG9EYXRlKCk7XG5cdFx0XHRcdGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnTGFzdCBRdWFydGVyJykge1xuXHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnF1YXJ0ZXIobW9tZW50KCkucXVhcnRlcigpKS5zdWJ0cmFjdCgxLCAnZGF5cycpLmVuZE9mKCdkYXknKS50b0RhdGUoKTtcblx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KGVuZERhdGUpLnN0YXJ0T2YoJ3F1YXJ0ZXInKS50b0RhdGUoKTtcblx0XHRcdH1cblx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1llYXInKSB7XG5cdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS50b0RhdGUoKTtcblx0XHRcdFx0ZW5kRGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IFllYXInKSB7XG5cdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykuc3VidHJhY3QoMSwgJ2RheXMnKS5lbmRPZignZGF5JykudG9EYXRlKCk7XG5cdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudChlbmREYXRlKS5zdGFydE9mKCd5ZWFyJykudG9EYXRlKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdBbGwnKSB7XG5cdFx0XHRcdHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKDIwMTcsIDAsIDEsIDAsIDAsIDAsIDApO1xuXHRcdFx0XHRlbmREYXRlID0gbmV3IERhdGUoKTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5zdGFydERhdGVPYmogPSB7eWVhcjogc3RhcnREYXRlLmdldEZ1bGxZZWFyKCksIG1vbnRoOiBzdGFydERhdGUuZ2V0TW9udGgoKSArIDEsIGRheTogc3RhcnREYXRlLmdldERhdGUoKX07XG5cdFx0XHR0aGlzLmVuZERhdGVPYmogPSB7eWVhcjogZW5kRGF0ZS5nZXRGdWxsWWVhcigpLCBtb250aDogZW5kRGF0ZS5nZXRNb250aCgpICsgMSwgZGF5OiBlbmREYXRlLmdldERhdGUoKX07XG5cblx0XHRcdHRoaXMuc3RhcnREYXRlT2JqQ2hhbmdlLmVtaXQodGhpcy5zdGFydERhdGVPYmopO1xuXHRcdFx0dGhpcy5lbmREYXRlT2JqQ2hhbmdlLmVtaXQodGhpcy5lbmREYXRlT2JqKTtcblxuXHRcdFx0dGhpcy5kYXRlc0NoYW5nZWQuZW1pdChbdGhpcy5zdGFydERhdGVPYmosIHRoaXMuZW5kRGF0ZU9ial0pO1xuXG5cdFx0XHR0aGlzLnNob3J0Y3V0VmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnNob3J0Y3V0VmFsdWUpO1xuXHRcdH1cblxuXHRcdHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcblx0fVxufVxuIl19
@@ -1,32 +0,0 @@
1
- import { FormsModule } from '@angular/forms';
2
- import { NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { DateShortcutComponent } from './date-shortcut.component';
5
- import { NgSelectModule } from '@ng-select/ng-select';
6
- import * as i0 from "@angular/core";
7
- export class DateShortcutModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateShortcutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DateShortcutModule, declarations: [DateShortcutComponent], imports: [FormsModule,
10
- CommonModule,
11
- NgSelectModule], exports: [DateShortcutComponent] });
12
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateShortcutModule, imports: [FormsModule,
13
- CommonModule,
14
- NgSelectModule] });
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateShortcutModule, decorators: [{
17
- type: NgModule,
18
- args: [{
19
- imports: [
20
- FormsModule,
21
- CommonModule,
22
- NgSelectModule
23
- ],
24
- exports: [
25
- DateShortcutComponent
26
- ],
27
- declarations: [
28
- DateShortcutComponent
29
- ]
30
- }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1zaG9ydGN1dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kYXRlLXNob3J0Y3V0L2RhdGUtc2hvcnRjdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBZXRELE1BQU0sT0FBTyxrQkFBa0I7d0dBQWxCLGtCQUFrQjt5R0FBbEIsa0JBQWtCLGlCQUg3QixxQkFBcUIsYUFSckIsV0FBVztZQUNYLFlBQVk7WUFDWixjQUFjLGFBR2QscUJBQXFCO3lHQU1WLGtCQUFrQixZQVg3QixXQUFXO1lBQ1gsWUFBWTtZQUNaLGNBQWM7OzRGQVNILGtCQUFrQjtrQkFiOUIsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUU7d0JBQ1IsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGNBQWM7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNSLHFCQUFxQjtxQkFDckI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNiLHFCQUFxQjtxQkFDckI7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBEYXRlU2hvcnRjdXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtc2hvcnRjdXQuY29tcG9uZW50JztcdFx0XHRcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuXG5ATmdNb2R1bGUoe1xuXHRpbXBvcnRzOiBbXG5cdFx0Rm9ybXNNb2R1bGUsXG5cdFx0Q29tbW9uTW9kdWxlLFxuXHRcdE5nU2VsZWN0TW9kdWxlXG5cdF0sXG5cdGV4cG9ydHM6IFtcblx0XHREYXRlU2hvcnRjdXRDb21wb25lbnRcblx0XSxcblx0ZGVjbGFyYXRpb25zOiBbXG5cdFx0RGF0ZVNob3J0Y3V0Q29tcG9uZW50XG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVNob3J0Y3V0TW9kdWxlIHsgfVxuIl19
@@ -1,67 +0,0 @@
1
- import { Component, Input, HostListener } from '@angular/core';
2
- import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ng-bootstrap/ng-bootstrap";
5
- // tslint:disable-next-line:component-class-suffix
6
- export class DialogConfirmContent {
7
- activeModal;
8
- title;
9
- body;
10
- html;
11
- handleKeyboardEvent(event) {
12
- if (event.keyCode === 13) {
13
- this.activeModal.close();
14
- }
15
- }
16
- constructor(activeModal) {
17
- this.activeModal = activeModal;
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogConfirmContent, deps: [{ token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialogConfirmContent, selector: "ng-component", inputs: { title: "title", body: "body", html: "html" }, host: { listeners: { "document:keypress": "handleKeyboardEvent($event)" } }, ngImport: i0, template: `
21
- <div class="modal-header">
22
- <h4 class="modal-title"><i class="fa fa-question-circle" style="color: blue; font-size: 0.85em" aria-hidden="true"></i> {{ title }}</h4>
23
- <button type="button" class="close" aria-label="Close" (click)="activeModal.dismiss('Cross click')">
24
- <span aria-hidden="true">&times;</span>
25
- </button>
26
- </div>
27
- <div class="modal-body">
28
- <p>{{ body }}</p>
29
- <div [innerHTML]="html"></div>
30
- </div>
31
- <div class="modal-footer">
32
- <button type="button" class="btn btn-success" (click)="activeModal.close()">Yes</button>
33
- <button type="button" class="btn btn-danger" (click)="activeModal.dismiss()">No</button>
34
- </div>
35
- `, isInline: true });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogConfirmContent, decorators: [{
38
- type: Component,
39
- args: [{
40
- template: `
41
- <div class="modal-header">
42
- <h4 class="modal-title"><i class="fa fa-question-circle" style="color: blue; font-size: 0.85em" aria-hidden="true"></i> {{ title }}</h4>
43
- <button type="button" class="close" aria-label="Close" (click)="activeModal.dismiss('Cross click')">
44
- <span aria-hidden="true">&times;</span>
45
- </button>
46
- </div>
47
- <div class="modal-body">
48
- <p>{{ body }}</p>
49
- <div [innerHTML]="html"></div>
50
- </div>
51
- <div class="modal-footer">
52
- <button type="button" class="btn btn-success" (click)="activeModal.close()">Yes</button>
53
- <button type="button" class="btn btn-danger" (click)="activeModal.dismiss()">No</button>
54
- </div>
55
- `
56
- }]
57
- }], ctorParameters: function () { return [{ type: i1.NgbActiveModal }]; }, propDecorators: { title: [{
58
- type: Input
59
- }], body: [{
60
- type: Input
61
- }], html: [{
62
- type: Input
63
- }], handleKeyboardEvent: [{
64
- type: HostListener,
65
- args: ['document:keypress', ['$event']]
66
- }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbmZpcm0uY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi93aWRnZXRzL2RpYWxvZy9kaWFsb2cuY29uZmlybS5jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7OztBQW9CMUQsa0RBQWtEO0FBQ2xELE1BQU0sT0FBTyxvQkFBb0I7SUFZYjtJQVhWLEtBQUssQ0FBUztJQUNkLElBQUksQ0FBUztJQUNiLElBQUksQ0FBUztJQUd0QixtQkFBbUIsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDekI7SUFDRixDQUFDO0lBRUQsWUFBbUIsV0FBMkI7UUFBM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBQUcsQ0FBQzt3R0FadEMsb0JBQW9COzRGQUFwQixvQkFBb0IseUxBbEJ0Qjs7Ozs7Ozs7Ozs7Ozs7O0lBZVA7OzRGQUdTLG9CQUFvQjtrQkFuQmhDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7SUFlUDtpQkFDSDtxR0FHUyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFHTixtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIEhvc3RMaXN0ZW5lcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7TmdiQWN0aXZlTW9kYWx9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuQENvbXBvbmVudCh7XG5cdHRlbXBsYXRlOiBgXG5cdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuXHRcdFx0PGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIj48aSBjbGFzcz1cImZhIGZhLXF1ZXN0aW9uLWNpcmNsZVwiIHN0eWxlPVwiY29sb3I6IGJsdWU7IGZvbnQtc2l6ZTogMC44NWVtXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiB7eyB0aXRsZSB9fTwvaDQ+XG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cImFjdGl2ZU1vZGFsLmRpc21pc3MoJ0Nyb3NzIGNsaWNrJylcIj5cblx0XHRcdFx0PHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cblx0XHRcdDwvYnV0dG9uPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG5cdFx0XHQ8cD57eyBib2R5IH19PC9wPlxuXHRcdFx0PGRpdiBbaW5uZXJIVE1MXT1cImh0bWxcIj48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc3VjY2Vzc1wiIChjbGljayk9XCJhY3RpdmVNb2RhbC5jbG9zZSgpXCI+WWVzPC9idXR0b24+XG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCIgKGNsaWNrKT1cImFjdGl2ZU1vZGFsLmRpc21pc3MoKVwiPk5vPC9idXR0b24+XG5cdFx0PC9kaXY+XG4gIFx0YFxufSlcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgRGlhbG9nQ29uZmlybUNvbnRlbnQge1xuXHRASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuXHRASW5wdXQoKSBib2R5OiBzdHJpbmc7XG5cdEBJbnB1dCgpIGh0bWw6IHN0cmluZztcblxuXHRASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlwcmVzcycsIFsnJGV2ZW50J10pXG5cdGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHsgXG5cdFx0aWYgKGV2ZW50LmtleUNvZGUgPT09IDEzKSB7XG5cdFx0XHR0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCk7XG5cdFx0fVxuXHR9XG5cblx0Y29uc3RydWN0b3IocHVibGljIGFjdGl2ZU1vZGFsOiBOZ2JBY3RpdmVNb2RhbCkge31cbn0iXX0=
@@ -1,60 +0,0 @@
1
- import { Component, Input, HostListener } from '@angular/core';
2
- import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ng-bootstrap/ng-bootstrap";
5
- // tslint:disable-next-line:component-class-suffix
6
- export class DialogErrorContent {
7
- activeModal;
8
- title;
9
- body;
10
- handleKeyboardEvent(event) {
11
- if (event.keyCode === 13) {
12
- this.activeModal.close();
13
- }
14
- }
15
- constructor(activeModal) {
16
- this.activeModal = activeModal;
17
- }
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogErrorContent, deps: [{ token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialogErrorContent, selector: "ng-component", inputs: { title: "title", body: "body" }, host: { listeners: { "document:keypress": "handleKeyboardEvent($event)" } }, ngImport: i0, template: `
20
- <div class="modal-header">
21
- <h4 class="modal-title"><i class="fa fa-times-circle" style="color: red; font-size: 0.85em" aria-hidden="true"></i> {{ title }}</h4>
22
- <button type="button" class="close" aria-label="Close" (click)="activeModal.dismiss('Cross click')">
23
- <span aria-hidden="true">&times;</span>
24
- </button>
25
- </div>
26
- <div class="modal-body">
27
- <p>{{ body }}</p>
28
- </div>
29
- <div class="modal-footer">
30
- <button type="button" class="btn btn-secondary" (click)="activeModal.close('Close click')">Ok</button>
31
- </div>
32
- `, isInline: true });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogErrorContent, decorators: [{
35
- type: Component,
36
- args: [{
37
- template: `
38
- <div class="modal-header">
39
- <h4 class="modal-title"><i class="fa fa-times-circle" style="color: red; font-size: 0.85em" aria-hidden="true"></i> {{ title }}</h4>
40
- <button type="button" class="close" aria-label="Close" (click)="activeModal.dismiss('Cross click')">
41
- <span aria-hidden="true">&times;</span>
42
- </button>
43
- </div>
44
- <div class="modal-body">
45
- <p>{{ body }}</p>
46
- </div>
47
- <div class="modal-footer">
48
- <button type="button" class="btn btn-secondary" (click)="activeModal.close('Close click')">Ok</button>
49
- </div>
50
- `
51
- }]
52
- }], ctorParameters: function () { return [{ type: i1.NgbActiveModal }]; }, propDecorators: { title: [{
53
- type: Input
54
- }], body: [{
55
- type: Input
56
- }], handleKeyboardEvent: [{
57
- type: HostListener,
58
- args: ['document:keypress', ['$event']]
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmVycm9yLmNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kaWFsb2cvZGlhbG9nLmVycm9yLmNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBVyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBbUJwRSxrREFBa0Q7QUFDbEQsTUFBTSxPQUFPLGtCQUFrQjtJQVdYO0lBVlYsS0FBSyxDQUFTO0lBQ2QsSUFBSSxDQUFTO0lBR3RCLG1CQUFtQixDQUFDLEtBQW9CO1FBQ3ZDLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN6QjtJQUNGLENBQUM7SUFFRCxZQUFtQixXQUEyQjtRQUEzQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFBRyxDQUFDO3dHQVh0QyxrQkFBa0I7NEZBQWxCLGtCQUFrQiwyS0FqQnBCOzs7Ozs7Ozs7Ozs7O0lBYVA7OzRGQUlTLGtCQUFrQjtrQkFsQjlCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0lBYVA7aUJBQ0g7cUdBSVMsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFHTixtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIEhvc3RMaXN0ZW5lcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7TmdiTW9kYWwsIE5nYkFjdGl2ZU1vZGFsfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbkBDb21wb25lbnQoe1xuXHR0ZW1wbGF0ZTogYFxuXHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cblx0XHRcdDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+PGkgY2xhc3M9XCJmYSBmYS10aW1lcy1jaXJjbGVcIiBzdHlsZT1cImNvbG9yOiByZWQ7IGZvbnQtc2l6ZTogMC44NWVtXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiB7eyB0aXRsZSB9fTwvaDQ+XG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cImFjdGl2ZU1vZGFsLmRpc21pc3MoJ0Nyb3NzIGNsaWNrJylcIj5cblx0XHRcdFx0PHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cblx0XHRcdDwvYnV0dG9uPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG5cdFx0XHQ8cD57eyBib2R5IH19PC9wPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cblx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiYWN0aXZlTW9kYWwuY2xvc2UoJ0Nsb3NlIGNsaWNrJylcIj5PazwvYnV0dG9uPlxuXHRcdDwvZGl2PlxuICBcdGBcbn0pXG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgRGlhbG9nRXJyb3JDb250ZW50IHtcblx0QElucHV0KCkgdGl0bGU6IHN0cmluZztcblx0QElucHV0KCkgYm9keTogc3RyaW5nO1xuXG5cdEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXByZXNzJywgWyckZXZlbnQnXSlcblx0aGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkgeyBcblx0XHRpZiAoZXZlbnQua2V5Q29kZSA9PT0gMTMpIHtcblx0XHRcdHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoKTtcblx0XHR9XG5cdH1cblxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsKSB7fVxufSJdfQ==