@resolveio/client-lib-core 15.1.19 → 15.2.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.
- package/fesm2020/resolveio-client-lib-core.min.mjs +1 -0
- package/index.d.ts +0 -3
- package/package.json +1 -1
- package/esm2020/lib/account-manager.service.mjs +0 -222
- package/esm2020/lib/auth/auth-guard.service.mjs +0 -165
- package/esm2020/lib/auth/auth-permissions.service.mjs +0 -24
- package/esm2020/lib/auth/auth.service.mjs +0 -244
- package/esm2020/lib/auth/auth365.component.mjs +0 -44
- package/esm2020/lib/auth/can-deactivate-guard.service.mjs +0 -13
- package/esm2020/lib/auth/enroll.component.mjs +0 -81
- package/esm2020/lib/auth/forgot-password.component.mjs +0 -82
- package/esm2020/lib/core.component.mjs +0 -400
- package/esm2020/lib/core.module.mjs +0 -184
- package/esm2020/lib/core.service.mjs +0 -89
- package/esm2020/lib/directive/focus.mjs +0 -22
- package/esm2020/lib/directive/scroll.mjs +0 -55
- package/esm2020/lib/home/home.component.mjs +0 -77
- package/esm2020/lib/logger/logger.component.mjs +0 -220
- package/esm2020/lib/models/app-status.model.mjs +0 -2
- package/esm2020/lib/models/collection-document.model.mjs +0 -2
- package/esm2020/lib/models/cron-job.model.mjs +0 -2
- package/esm2020/lib/models/dialog.model.mjs +0 -2
- package/esm2020/lib/models/file.model.mjs +0 -2
- package/esm2020/lib/models/log-method-latency.model.mjs +0 -2
- package/esm2020/lib/models/navbar-main-tab.model.mjs +0 -2
- package/esm2020/lib/models/pagination.model.mjs +0 -2
- package/esm2020/lib/models/permission.model.mjs +0 -2
- package/esm2020/lib/models/select-data-label.model.mjs +0 -2
- package/esm2020/lib/models/subscription.model.mjs +0 -2
- package/esm2020/lib/models/support-ticket.model.mjs +0 -2
- package/esm2020/lib/models/user-group.model.mjs +0 -2
- package/esm2020/lib/models/user.model.mjs +0 -2
- package/esm2020/lib/offline-db.mjs +0 -519
- package/esm2020/lib/offline-manager.service.mjs +0 -107
- package/esm2020/lib/pipes/domsanitizor.pipe.mjs +0 -28
- package/esm2020/lib/pipes/filter.pipe.mjs +0 -36
- package/esm2020/lib/pipes/json-parse.pipe.mjs +0 -29
- package/esm2020/lib/pipes/minus-currency.pipe.mjs +0 -16
- package/esm2020/lib/pipes/phone.pipe.mjs +0 -47
- package/esm2020/lib/pipes/pipe.module.mjs +0 -54
- package/esm2020/lib/pipes/reverse-list.pipe.mjs +0 -17
- package/esm2020/lib/pipes/titlecase.pipe.mjs +0 -22
- package/esm2020/lib/report-builder.permission.mjs +0 -13
- package/esm2020/lib/resolveio-class.mjs +0 -41
- package/esm2020/lib/shared/shared.module.mjs +0 -96
- package/esm2020/lib/socket-manager.service.mjs +0 -339
- package/esm2020/lib/socket.service.mjs +0 -215
- package/esm2020/lib/super-admin.permission.mjs +0 -9
- package/esm2020/lib/support-ticket/detail/support-ticket-detail.component.mjs +0 -204
- package/esm2020/lib/support-ticket/edit/support-ticket-edit.component.mjs +0 -122
- package/esm2020/lib/support-ticket/list/support-ticket-list.component.mjs +0 -137
- package/esm2020/lib/support-ticket/new/support-ticket-new.component.mjs +0 -115
- package/esm2020/lib/support-ticket/support-ticket.component.mjs +0 -63
- package/esm2020/lib/support-ticket/support-ticket.module.mjs +0 -50
- package/esm2020/lib/support-ticket/support-ticket.routing.mjs +0 -20
- package/esm2020/lib/support-ticket/support-ticket.service.mjs +0 -17
- package/esm2020/lib/token-manager.service.mjs +0 -26
- package/esm2020/lib/user-settings/settings/users-settings.component.mjs +0 -296
- package/esm2020/lib/user-settings/user-settings.component.mjs +0 -57
- package/esm2020/lib/user-settings/user-settings.module.mjs +0 -41
- package/esm2020/lib/user-settings/user-settings.permission.mjs +0 -10
- package/esm2020/lib/user-settings/user-settings.routing.mjs +0 -14
- package/esm2020/lib/user-settings/user-settings.service.mjs +0 -17
- package/esm2020/lib/util/action-name.helper.mjs +0 -9
- package/esm2020/lib/util/aws.service.mjs +0 -79
- package/esm2020/lib/util/common.helper.mjs +0 -161
- package/esm2020/lib/util/validation.service.mjs +0 -185
- package/esm2020/lib/util/window-resize.service.mjs +0 -24
- package/esm2020/lib/util/window.service.mjs +0 -16
- package/esm2020/lib/widgets/alert/alert.model.mjs +0 -2
- package/esm2020/lib/widgets/alert/alert.service.mjs +0 -78
- package/esm2020/lib/widgets/collapse-table/collapse-table.component.mjs +0 -79
- package/esm2020/lib/widgets/collapse-table/collapse-table.module.mjs +0 -34
- package/esm2020/lib/widgets/data-table/data-table.component.mjs +0 -77
- package/esm2020/lib/widgets/data-table/data-table.model.mjs +0 -2
- package/esm2020/lib/widgets/data-table/data-table.module.mjs +0 -41
- package/esm2020/lib/widgets/date-shortcut/date-shortcut.component.mjs +0 -295
- package/esm2020/lib/widgets/date-shortcut/date-shortcut.module.mjs +0 -32
- package/esm2020/lib/widgets/dialog/dialog.confirm.content.mjs +0 -63
- package/esm2020/lib/widgets/dialog/dialog.error.content.mjs +0 -57
- package/esm2020/lib/widgets/dialog/dialog.input.content.mjs +0 -271
- package/esm2020/lib/widgets/dialog/dialog.login.content.mjs +0 -517
- package/esm2020/lib/widgets/dialog/dialog.notify.content.mjs +0 -57
- package/esm2020/lib/widgets/dialog/dialog.register.content.mjs +0 -328
- package/esm2020/lib/widgets/dialog/dialog.select-array-objs.content.mjs +0 -200
- package/esm2020/lib/widgets/dialog/dialog.select-array.content.mjs +0 -305
- package/esm2020/lib/widgets/dialog/dialog.select-data-labels.content.mjs +0 -191
- package/esm2020/lib/widgets/dialog/dialog.select-datetime.content.mjs +0 -185
- package/esm2020/lib/widgets/dialog/dialog.select-with-buttons-url.content.mjs +0 -162
- package/esm2020/lib/widgets/dialog/dialog.service.mjs +0 -97
- package/esm2020/lib/widgets/file/file-upload.component.mjs +0 -426
- package/esm2020/lib/widgets/file/file-upload.module.mjs +0 -48
- package/esm2020/lib/widgets/form-button/form-button.component.mjs +0 -94
- package/esm2020/lib/widgets/form-button/form-button.module.mjs +0 -28
- package/esm2020/lib/widgets/navbar-main/navbar-main.component.mjs +0 -220
- package/esm2020/lib/widgets/navbar-module/navbar-module.component.mjs +0 -104
- package/esm2020/lib/widgets/navbar-module/navbar-module.model.mjs +0 -2
- package/esm2020/lib/widgets/responsive-button-group/responsive-button-group.component.mjs +0 -38
- package/esm2020/lib/widgets/responsive-button-group/responsive-button-group.module.mjs +0 -24
- package/esm2020/lib/widgets/scheduler/scheduler.component.mjs +0 -184
- package/esm2020/lib/widgets/scheduler/scheduler.module.mjs +0 -37
- package/esm2020/lib/widgets/sort-table/sort-table-header.component.mjs +0 -67
- package/esm2020/lib/widgets/sort-table/sort-table-ngfor.component.mjs +0 -48
- package/esm2020/lib/widgets/sort-table/sort-table.directive.mjs +0 -174
- package/esm2020/lib/widgets/sort-table/sort-table.module.mjs +0 -38
- package/esm2020/lib/widgets/user-role/user-role.component.mjs +0 -27
- package/esm2020/lib/widgets/user-role/user-role.module.mjs +0 -24
- package/esm2020/public_api.mjs +0 -91
- package/esm2020/resolveio-client-lib-core.mjs +0 -5
- package/fesm2015/resolveio-client-lib-core.mjs +0 -9191
- package/fesm2015/resolveio-client-lib-core.mjs.map +0 -1
- package/fesm2020/resolveio-client-lib-core.mjs +0 -9184
- package/fesm2020/resolveio-client-lib-core.mjs.map +0 -1
- package/lib/account-manager.service.d.ts +0 -41
- package/lib/auth/auth-guard.service.d.ts +0 -26
- package/lib/auth/auth-permissions.service.d.ts +0 -10
- package/lib/auth/auth.service.d.ts +0 -30
- package/lib/auth/auth365.component.d.ts +0 -20
- package/lib/auth/can-deactivate-guard.service.d.ts +0 -11
- package/lib/auth/enroll.component.d.ts +0 -28
- package/lib/auth/forgot-password.component.d.ts +0 -28
- package/lib/core.component.d.ts +0 -64
- package/lib/core.module.d.ts +0 -35
- package/lib/core.service.d.ts +0 -49
- package/lib/directive/focus.d.ts +0 -10
- package/lib/directive/scroll.d.ts +0 -20
- package/lib/home/home.component.d.ts +0 -28
- package/lib/logger/logger.component.d.ts +0 -37
- package/lib/models/app-status.model.d.ts +0 -4
- package/lib/models/collection-document.model.d.ts +0 -6
- package/lib/models/cron-job.model.d.ts +0 -13
- package/lib/models/dialog.model.d.ts +0 -23
- package/lib/models/file.model.d.ts +0 -9
- package/lib/models/log-method-latency.model.d.ts +0 -7
- package/lib/models/navbar-main-tab.model.d.ts +0 -14
- package/lib/models/pagination.model.d.ts +0 -17
- package/lib/models/permission.model.d.ts +0 -14
- package/lib/models/select-data-label.model.d.ts +0 -9
- package/lib/models/subscription.model.d.ts +0 -19
- package/lib/models/support-ticket.model.d.ts +0 -71
- package/lib/models/user-group.model.d.ts +0 -20
- package/lib/models/user.model.d.ts +0 -70
- package/lib/offline-db.d.ts +0 -28
- package/lib/offline-manager.service.d.ts +0 -23
- package/lib/pipes/domsanitizor.pipe.d.ts +0 -10
- package/lib/pipes/filter.pipe.d.ts +0 -12
- package/lib/pipes/json-parse.pipe.d.ts +0 -7
- package/lib/pipes/minus-currency.pipe.d.ts +0 -7
- package/lib/pipes/phone.pipe.d.ts +0 -7
- package/lib/pipes/pipe.module.d.ts +0 -13
- package/lib/pipes/reverse-list.pipe.d.ts +0 -6
- package/lib/pipes/titlecase.pipe.d.ts +0 -7
- package/lib/report-builder.permission.d.ts +0 -2
- package/lib/resolveio-class.d.ts +0 -26
- package/lib/shared/shared.module.d.ts +0 -17
- package/lib/socket-manager.service.d.ts +0 -38
- package/lib/socket.service.d.ts +0 -44
- package/lib/super-admin.permission.d.ts +0 -2
- package/lib/support-ticket/detail/support-ticket-detail.component.d.ts +0 -32
- package/lib/support-ticket/edit/support-ticket-edit.component.d.ts +0 -30
- package/lib/support-ticket/list/support-ticket-list.component.d.ts +0 -26
- package/lib/support-ticket/new/support-ticket-new.component.d.ts +0 -26
- package/lib/support-ticket/support-ticket.component.d.ts +0 -20
- package/lib/support-ticket/support-ticket.module.d.ts +0 -15
- package/lib/support-ticket/support-ticket.routing.d.ts +0 -3
- package/lib/support-ticket/support-ticket.service.d.ts +0 -9
- package/lib/token-manager.service.d.ts +0 -11
- package/lib/user-settings/settings/users-settings.component.d.ts +0 -54
- package/lib/user-settings/user-settings.component.d.ts +0 -20
- package/lib/user-settings/user-settings.module.d.ts +0 -12
- package/lib/user-settings/user-settings.permission.d.ts +0 -2
- package/lib/user-settings/user-settings.routing.d.ts +0 -3
- package/lib/user-settings/user-settings.service.d.ts +0 -9
- package/lib/util/action-name.helper.d.ts +0 -1
- package/lib/util/aws.service.d.ts +0 -17
- package/lib/util/common.helper.d.ts +0 -12
- package/lib/util/validation.service.d.ts +0 -88
- package/lib/util/window-resize.service.d.ts +0 -12
- package/lib/util/window.service.d.ts +0 -6
- package/lib/widgets/alert/alert.model.d.ts +0 -1
- package/lib/widgets/alert/alert.service.d.ts +0 -11
- package/lib/widgets/collapse-table/collapse-table.component.d.ts +0 -23
- package/lib/widgets/collapse-table/collapse-table.module.d.ts +0 -9
- package/lib/widgets/data-table/data-table.component.d.ts +0 -23
- package/lib/widgets/data-table/data-table.model.d.ts +0 -13
- package/lib/widgets/data-table/data-table.module.d.ts +0 -12
- package/lib/widgets/date-shortcut/date-shortcut.component.d.ts +0 -24
- package/lib/widgets/date-shortcut/date-shortcut.module.d.ts +0 -10
- package/lib/widgets/dialog/dialog.confirm.content.d.ts +0 -12
- package/lib/widgets/dialog/dialog.error.content.d.ts +0 -11
- package/lib/widgets/dialog/dialog.input.content.d.ts +0 -18
- package/lib/widgets/dialog/dialog.login.content.d.ts +0 -17
- package/lib/widgets/dialog/dialog.notify.content.d.ts +0 -11
- package/lib/widgets/dialog/dialog.register.content.d.ts +0 -13
- package/lib/widgets/dialog/dialog.select-array-objs.content.d.ts +0 -23
- package/lib/widgets/dialog/dialog.select-array.content.d.ts +0 -31
- package/lib/widgets/dialog/dialog.select-data-labels.content.d.ts +0 -22
- package/lib/widgets/dialog/dialog.select-datetime.content.d.ts +0 -21
- package/lib/widgets/dialog/dialog.select-with-buttons-url.content.d.ts +0 -25
- package/lib/widgets/dialog/dialog.service.d.ts +0 -21
- package/lib/widgets/file/file-upload.component.d.ts +0 -49
- package/lib/widgets/file/file-upload.module.d.ts +0 -14
- package/lib/widgets/form-button/form-button.component.d.ts +0 -15
- package/lib/widgets/form-button/form-button.module.d.ts +0 -9
- package/lib/widgets/navbar-main/navbar-main.component.d.ts +0 -53
- package/lib/widgets/navbar-module/navbar-module.component.d.ts +0 -24
- package/lib/widgets/navbar-module/navbar-module.model.d.ts +0 -13
- package/lib/widgets/responsive-button-group/responsive-button-group.component.d.ts +0 -17
- package/lib/widgets/responsive-button-group/responsive-button-group.module.d.ts +0 -8
- package/lib/widgets/scheduler/scheduler.component.d.ts +0 -50
- package/lib/widgets/scheduler/scheduler.module.d.ts +0 -11
- package/lib/widgets/sort-table/sort-table-header.component.d.ts +0 -23
- package/lib/widgets/sort-table/sort-table-ngfor.component.d.ts +0 -17
- package/lib/widgets/sort-table/sort-table.directive.d.ts +0 -48
- package/lib/widgets/sort-table/sort-table.module.d.ts +0 -11
- package/lib/widgets/user-role/user-role.component.d.ts +0 -10
- package/lib/widgets/user-role/user-role.module.d.ts +0 -8
|
@@ -1,77 +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
|
-
constructor(_services) {
|
|
11
|
-
super(_services);
|
|
12
|
-
this._services = _services;
|
|
13
|
-
this.totalItems = 1000;
|
|
14
|
-
this.onChangeTableData = new EventEmitter();
|
|
15
|
-
}
|
|
16
|
-
changeTableData() {
|
|
17
|
-
this.onChangeTableData.emit();
|
|
18
|
-
}
|
|
19
|
-
sortColumn(colName) {
|
|
20
|
-
if (this.tableData.sortColumn === colName) {
|
|
21
|
-
if (this.tableData.sortOrder === 'desc') {
|
|
22
|
-
this.tableData.sortOrder = 'asc';
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
this.tableData.sortOrder = 'desc';
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
this.tableData.sortOrder = 'asc';
|
|
30
|
-
this.tableData.sortColumn = colName;
|
|
31
|
-
}
|
|
32
|
-
this.changeTableData();
|
|
33
|
-
}
|
|
34
|
-
navigateTo(id, column) {
|
|
35
|
-
if (column !== 'file_key' && id && this.urlClick) {
|
|
36
|
-
this._services._router.navigateByUrl(this.urlClick + id);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
openFile(file_key) {
|
|
40
|
-
this._services._socket.call('getSignedUrl', file_key, 900, (err, res) => {
|
|
41
|
-
if (res) {
|
|
42
|
-
window.open(res);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this._services._socket.call('insertErrorLog', 'Widgets-datatable - getsignedurl', [
|
|
46
|
-
file_key, err
|
|
47
|
-
]);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
typeOf(data) {
|
|
52
|
-
return typeof (data);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
DatatableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableComponent, deps: [{ token: i1.ProviderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
DatatableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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" }] });
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableComponent, decorators: [{
|
|
58
|
-
type: Component,
|
|
59
|
-
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" }]
|
|
60
|
-
}], ctorParameters: function () { return [{ type: i1.ProviderService }]; }, propDecorators: { urlClick: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], columns: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], data: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], collapseSize: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], searchTitle: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], totalItems: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], onChangeTableData: [{
|
|
73
|
-
type: Output
|
|
74
|
-
}], tableData: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3dpZGdldHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQVF2RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQVVwRCxZQUFvQixTQUEwQjtRQUM3QyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFERSxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUpyQyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFLekQsQ0FBQztJQUVELGVBQWU7UUFDZCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFPO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEtBQUssT0FBTyxFQUFFO1lBQzFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO2dCQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDakM7aUJBQ0k7Z0JBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO2FBQ2xDO1NBQ0Q7YUFDSTtZQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7U0FDcEM7UUFFRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFVLEVBQUUsTUFBYztRQUNwQyxJQUFJLE1BQU0sS0FBSyxVQUFVLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDekQ7SUFDRixDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQWdCO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN2RSxJQUFJLEdBQUcsRUFBRTtnQkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2pCO2lCQUNJO2dCQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxrQ0FBa0MsRUFBRTtvQkFDakYsUUFBUSxFQUFFLEdBQUc7aUJBQ2IsQ0FBQyxDQUFDO2FBQ0g7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSTtRQUNWLE9BQU8sT0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7O2dIQXhEVyxrQkFBa0I7b0dBQWxCLGtCQUFrQiwwUUFMbkIsQ0FBQyxlQUFlLENBQUMsaURDTDdCLG0ySkFzRkE7NEZENUVhLGtCQUFrQjtrQkFOOUIsU0FBUztnQ0FDRSxDQUFDLGVBQWUsQ0FBQyxZQUNsQixZQUFZO3NHQUtiLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0UsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhdGFibGVNb2RlbCwgRGF0YXRhYmxlQ29sdW1uIH0gZnJvbSAnLi9kYXRhLXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IFByb3ZpZGVyU2VydmljZSwgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Jlc29sdmVpby1jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuXHRwcm92aWRlcnM6IFtQcm92aWRlclNlcnZpY2VdLFxuXHRzZWxlY3RvcjogJ2RhdGEtdGFibGUnLFxuXHR0ZW1wbGF0ZVVybDogJy4vZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHsgXG5cdEBJbnB1dCgpIHVybENsaWNrOiBzdHJpbmc7XG5cdEBJbnB1dCgpIGNvbHVtbnM6IEFycmF5PERhdGF0YWJsZUNvbHVtbltdPjtcblx0QElucHV0KCkgZGF0YTogYW55W107XG5cdEBJbnB1dCgpIGNvbGxhcHNlU2l6ZTogbnVtYmVyO1xuXHRASW5wdXQoKSBzZWFyY2hUaXRsZTogc3RyaW5nO1xuXHRASW5wdXQoKSB0b3RhbEl0ZW1zID0gMTAwMDtcblx0QE91dHB1dCgpIG9uQ2hhbmdlVGFibGVEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxPYmplY3Q+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
|
-
}
|
|
11
|
-
DatatableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
-
DatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DatatableModule, declarations: [DatatableComponent], imports: [NgbModule,
|
|
13
|
-
FormsModule,
|
|
14
|
-
CommonModule,
|
|
15
|
-
RouterModule,
|
|
16
|
-
CollapseTableModule], exports: [DatatableComponent] });
|
|
17
|
-
DatatableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatatableModule, imports: [NgbModule,
|
|
18
|
-
FormsModule,
|
|
19
|
-
CommonModule,
|
|
20
|
-
RouterModule,
|
|
21
|
-
CollapseTableModule] });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kYXRhLXRhYmxlL2RhdGEtdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWtCNUQsTUFBTSxPQUFPLGVBQWU7OzZHQUFmLGVBQWU7OEdBQWYsZUFBZSxpQkFKMUIsa0JBQWtCLGFBVmxCLFNBQVM7UUFDVCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFlBQVk7UUFDWixtQkFBbUIsYUFHbkIsa0JBQWtCOzhHQU9QLGVBQWUsWUFkMUIsU0FBUztRQUNULFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLG1CQUFtQjs0RkFVUixlQUFlO2tCQWhCM0IsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUU7d0JBQ1IsU0FBUzt3QkFDVCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixtQkFBbUI7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUixrQkFBa0I7cUJBQ2xCO29CQUNELFlBQVksRUFBRTt3QkFDYixrQkFBa0I7cUJBQ2xCO29CQUNELFNBQVMsRUFBRSxFQUFHO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1x0XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBDb2xsYXBzZVRhYmxlTW9kdWxlIH0gZnJvbSAnLi4vY29sbGFwc2UtdGFibGUvY29sbGFwc2UtdGFibGUubW9kdWxlJztcblxuXG5pbXBvcnQgeyBEYXRhdGFibGVDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdGFibGUuY29tcG9uZW50JztcdFx0XHRcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogW1xuXHRcdE5nYk1vZHVsZSxcblx0XHRGb3Jtc01vZHVsZSxcblx0XHRDb21tb25Nb2R1bGUsXG5cdFx0Um91dGVyTW9kdWxlLFxuXHRcdENvbGxhcHNlVGFibGVNb2R1bGVcblx0XSxcblx0ZXhwb3J0czogW1xuXHRcdERhdGF0YWJsZUNvbXBvbmVudFxuXHRdLFxuXHRkZWNsYXJhdGlvbnM6IFtcblx0XHREYXRhdGFibGVDb21wb25lbnRcblx0XSxcblx0cHJvdmlkZXJzOiBbIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlTW9kdWxlIHsgfVxuIl19
|
|
@@ -1,295 +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
|
-
constructor(_services, _cd) {
|
|
10
|
-
super(_services);
|
|
11
|
-
this._services = _services;
|
|
12
|
-
this._cd = _cd;
|
|
13
|
-
this.startDateObjChange = new EventEmitter();
|
|
14
|
-
this.endDateObjChange = new EventEmitter();
|
|
15
|
-
this.startDateObjFormChange = new EventEmitter();
|
|
16
|
-
this.endDateObjFormChange = new EventEmitter();
|
|
17
|
-
this.datesChanged = new EventEmitter();
|
|
18
|
-
this.shortcutValue = null;
|
|
19
|
-
this.shortcutValueChange = new EventEmitter();
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
this.onSelectShortcut();
|
|
23
|
-
}
|
|
24
|
-
reset() {
|
|
25
|
-
this.shortcutValue = null;
|
|
26
|
-
this.shortcutValueChange.emit(this.shortcutValue);
|
|
27
|
-
this._cd.detectChanges();
|
|
28
|
-
}
|
|
29
|
-
onSelectShortcut() {
|
|
30
|
-
if (this.shortcutValue) {
|
|
31
|
-
if (this.startDateObj && this.endDateObj) {
|
|
32
|
-
let startDate = moment(new Date(this.startDateObj['year'], this.startDateObj['month'] - 1, this.startDateObj['day'])).toDate();
|
|
33
|
-
let endDate = moment(new Date(this.endDateObj['year'], this.endDateObj['month'] - 1, this.endDateObj['day'])).toDate();
|
|
34
|
-
if (this.shortcutValue === 'Q1') {
|
|
35
|
-
startDate = moment().startOf('year').toDate();
|
|
36
|
-
endDate = moment().startOf('year').quarter(2).subtract(1, 'days').toDate();
|
|
37
|
-
}
|
|
38
|
-
else if (this.shortcutValue === 'Q2') {
|
|
39
|
-
startDate = moment().startOf('year').quarter(2).toDate();
|
|
40
|
-
endDate = moment().startOf('year').quarter(3).subtract(1, 'days').toDate();
|
|
41
|
-
}
|
|
42
|
-
else if (this.shortcutValue === 'Q3') {
|
|
43
|
-
startDate = moment().startOf('year').quarter(3).toDate();
|
|
44
|
-
endDate = moment().startOf('year').quarter(4).subtract(1, 'days').toDate();
|
|
45
|
-
}
|
|
46
|
-
else if (this.shortcutValue === 'Q4') {
|
|
47
|
-
startDate = moment().startOf('year').quarter(4).toDate();
|
|
48
|
-
endDate = moment().endOf('year').toDate();
|
|
49
|
-
}
|
|
50
|
-
else if (this.shortcutValue === 'Last Q1') {
|
|
51
|
-
startDate = moment().startOf('year').subtract(1, 'year').toDate();
|
|
52
|
-
endDate = moment().startOf('year').subtract(1, 'year').quarter(2).subtract(1, 'days').toDate();
|
|
53
|
-
}
|
|
54
|
-
else if (this.shortcutValue === 'Last Q2') {
|
|
55
|
-
startDate = moment().startOf('year').subtract(1, 'year').quarter(2).toDate();
|
|
56
|
-
endDate = moment().startOf('year').subtract(1, 'year').quarter(3).subtract(1, 'days').toDate();
|
|
57
|
-
}
|
|
58
|
-
else if (this.shortcutValue === 'Last Q3') {
|
|
59
|
-
startDate = moment().startOf('year').subtract(1, 'year').quarter(3).toDate();
|
|
60
|
-
endDate = moment().startOf('year').subtract(1, 'year').quarter(4).subtract(1, 'days').toDate();
|
|
61
|
-
}
|
|
62
|
-
else if (this.shortcutValue === 'Last Q4') {
|
|
63
|
-
startDate = moment().startOf('year').subtract(1, 'year').quarter(4).toDate();
|
|
64
|
-
endDate = moment().endOf('year').subtract(1, 'year').toDate();
|
|
65
|
-
}
|
|
66
|
-
else if (this.shortcutValue === 'Today') {
|
|
67
|
-
startDate = moment().startOf('day').toDate();
|
|
68
|
-
endDate = new Date();
|
|
69
|
-
}
|
|
70
|
-
else if (this.shortcutValue === 'Yesterday') {
|
|
71
|
-
startDate = moment().subtract(1, 'days').startOf('day').toDate();
|
|
72
|
-
endDate = moment().subtract(1, 'days').endOf('day').toDate();
|
|
73
|
-
}
|
|
74
|
-
else if (this.shortcutValue === 'Week') {
|
|
75
|
-
startDate = moment().startOf('isoWeek').toDate();
|
|
76
|
-
endDate = new Date();
|
|
77
|
-
}
|
|
78
|
-
else if (this.shortcutValue === 'Last Week') {
|
|
79
|
-
endDate = moment().startOf('isoWeek').subtract(1, 'days').toDate();
|
|
80
|
-
startDate = moment(endDate).startOf('isoWeek').toDate();
|
|
81
|
-
}
|
|
82
|
-
else if (this.shortcutValue === 'Month') {
|
|
83
|
-
startDate = moment().startOf('month').toDate();
|
|
84
|
-
endDate = new Date();
|
|
85
|
-
}
|
|
86
|
-
else if (this.shortcutValue === 'Last Month') {
|
|
87
|
-
endDate = moment().startOf('month').subtract(1, 'days').endOf('day').toDate();
|
|
88
|
-
startDate = moment(endDate).startOf('month').toDate();
|
|
89
|
-
}
|
|
90
|
-
else if (this.shortcutValue === 'Last 30 Days') {
|
|
91
|
-
endDate = new Date();
|
|
92
|
-
startDate = moment().subtract(30, 'days').startOf('day').toDate();
|
|
93
|
-
}
|
|
94
|
-
else if (this.shortcutValue === 'Quarter') {
|
|
95
|
-
startDate = moment().startOf('year').quarter(moment().quarter()).toDate();
|
|
96
|
-
endDate = new Date();
|
|
97
|
-
}
|
|
98
|
-
else if (this.shortcutValue === 'Last Quarter') {
|
|
99
|
-
endDate = moment().startOf('year').quarter(moment().quarter()).subtract(1, 'days').endOf('day').toDate();
|
|
100
|
-
startDate = moment(endDate).startOf('quarter').toDate();
|
|
101
|
-
}
|
|
102
|
-
else if (this.shortcutValue === 'Year') {
|
|
103
|
-
startDate = moment().startOf('year').toDate();
|
|
104
|
-
endDate = new Date();
|
|
105
|
-
}
|
|
106
|
-
else if (this.shortcutValue === 'Last Year') {
|
|
107
|
-
endDate = moment().startOf('year').subtract(1, 'days').endOf('day').toDate();
|
|
108
|
-
startDate = moment(endDate).startOf('year').toDate();
|
|
109
|
-
}
|
|
110
|
-
else if (this.shortcutValue === 'All') {
|
|
111
|
-
startDate = new Date(2017, 0, 1, 0, 0, 0, 0);
|
|
112
|
-
endDate = new Date();
|
|
113
|
-
}
|
|
114
|
-
this.startDateObj = { year: startDate.getFullYear(), month: startDate.getMonth() + 1, day: startDate.getDate() };
|
|
115
|
-
this.endDateObj = { year: endDate.getFullYear(), month: endDate.getMonth() + 1, day: endDate.getDate() };
|
|
116
|
-
this.startDateObjChange.emit(this.startDateObj);
|
|
117
|
-
this.endDateObjChange.emit(this.endDateObj);
|
|
118
|
-
this.datesChanged.emit([this.startDateObj, this.endDateObj]);
|
|
119
|
-
}
|
|
120
|
-
else if (this.startDateObjForm && this.endDateObjForm) {
|
|
121
|
-
let startDate = moment(new Date(this.startDateObjForm.value['year'], this.startDateObjForm.value['month'] - 1, this.startDateObjForm.value['day'])).toDate();
|
|
122
|
-
let endDate = moment(new Date(this.endDateObjForm.value['year'], this.endDateObjForm.value['month'] - 1, this.endDateObjForm.value['day'])).toDate();
|
|
123
|
-
if (this.shortcutValue === 'Q1') {
|
|
124
|
-
startDate = moment().startOf('year').toDate();
|
|
125
|
-
endDate = moment().startOf('year').quarter(2).subtract(1, 'days').toDate();
|
|
126
|
-
}
|
|
127
|
-
else if (this.shortcutValue === 'Q2') {
|
|
128
|
-
startDate = moment().startOf('year').quarter(2).toDate();
|
|
129
|
-
endDate = moment().startOf('year').quarter(3).subtract(1, 'days').toDate();
|
|
130
|
-
}
|
|
131
|
-
else if (this.shortcutValue === 'Q3') {
|
|
132
|
-
startDate = moment().startOf('year').quarter(3).toDate();
|
|
133
|
-
endDate = moment().startOf('year').quarter(4).subtract(1, 'days').toDate();
|
|
134
|
-
}
|
|
135
|
-
else if (this.shortcutValue === 'Q4') {
|
|
136
|
-
startDate = moment().startOf('year').quarter(4).toDate();
|
|
137
|
-
endDate = moment().endOf('year').toDate();
|
|
138
|
-
}
|
|
139
|
-
else if (this.shortcutValue === 'Last Q1') {
|
|
140
|
-
startDate = moment().startOf('year').subtract(1, 'year').toDate();
|
|
141
|
-
endDate = moment().startOf('year').subtract(1, 'year').quarter(2).subtract(1, 'days').toDate();
|
|
142
|
-
}
|
|
143
|
-
else if (this.shortcutValue === 'Last Q2') {
|
|
144
|
-
startDate = moment().startOf('year').subtract(1, 'year').quarter(2).toDate();
|
|
145
|
-
endDate = moment().startOf('year').subtract(1, 'year').quarter(3).subtract(1, 'days').toDate();
|
|
146
|
-
}
|
|
147
|
-
else if (this.shortcutValue === 'Last Q3') {
|
|
148
|
-
startDate = moment().startOf('year').subtract(1, 'year').quarter(3).toDate();
|
|
149
|
-
endDate = moment().startOf('year').subtract(1, 'year').quarter(4).subtract(1, 'days').toDate();
|
|
150
|
-
}
|
|
151
|
-
else if (this.shortcutValue === 'Last Q4') {
|
|
152
|
-
startDate = moment().startOf('year').subtract(1, 'year').quarter(4).toDate();
|
|
153
|
-
endDate = moment().endOf('year').subtract(1, 'year').toDate();
|
|
154
|
-
}
|
|
155
|
-
else if (this.shortcutValue === 'Today') {
|
|
156
|
-
startDate = moment().startOf('day').toDate();
|
|
157
|
-
endDate = new Date();
|
|
158
|
-
}
|
|
159
|
-
else if (this.shortcutValue === 'Yesterday') {
|
|
160
|
-
startDate = moment().subtract(1, 'days').startOf('day').toDate();
|
|
161
|
-
endDate = moment().subtract(1, 'days').endOf('day').toDate();
|
|
162
|
-
}
|
|
163
|
-
else if (this.shortcutValue === 'Week') {
|
|
164
|
-
startDate = moment().startOf('isoWeek').toDate();
|
|
165
|
-
endDate = new Date();
|
|
166
|
-
}
|
|
167
|
-
else if (this.shortcutValue === 'Last Week') {
|
|
168
|
-
endDate = moment().startOf('isoWeek').subtract(1, 'days').toDate();
|
|
169
|
-
startDate = moment(endDate).startOf('isoWeek').toDate();
|
|
170
|
-
}
|
|
171
|
-
else if (this.shortcutValue === 'Month') {
|
|
172
|
-
startDate = moment().startOf('month').toDate();
|
|
173
|
-
endDate = new Date();
|
|
174
|
-
}
|
|
175
|
-
else if (this.shortcutValue === 'Last Month') {
|
|
176
|
-
endDate = moment().startOf('month').subtract(1, 'days').endOf('day').toDate();
|
|
177
|
-
startDate = moment(endDate).startOf('month').toDate();
|
|
178
|
-
}
|
|
179
|
-
else if (this.shortcutValue === 'Last 30 Days') {
|
|
180
|
-
endDate = new Date();
|
|
181
|
-
startDate = moment().subtract(30, 'days').startOf('day').toDate();
|
|
182
|
-
}
|
|
183
|
-
else if (this.shortcutValue === 'Quarter') {
|
|
184
|
-
startDate = moment().startOf('year').quarter(moment().quarter()).toDate();
|
|
185
|
-
endDate = new Date();
|
|
186
|
-
}
|
|
187
|
-
else if (this.shortcutValue === 'Last Quarter') {
|
|
188
|
-
endDate = moment().startOf('year').quarter(moment().quarter()).subtract(1, 'days').endOf('day').toDate();
|
|
189
|
-
startDate = moment(endDate).startOf('quarter').toDate();
|
|
190
|
-
}
|
|
191
|
-
else if (this.shortcutValue === 'Year') {
|
|
192
|
-
startDate = moment().startOf('year').toDate();
|
|
193
|
-
endDate = new Date();
|
|
194
|
-
}
|
|
195
|
-
else if (this.shortcutValue === 'Last Year') {
|
|
196
|
-
endDate = moment().startOf('year').subtract(1, 'days').endOf('day').toDate();
|
|
197
|
-
startDate = moment(endDate).startOf('year').toDate();
|
|
198
|
-
}
|
|
199
|
-
else if (this.shortcutValue === 'All') {
|
|
200
|
-
startDate = new Date(2017, 0, 1, 0, 0, 0, 0);
|
|
201
|
-
endDate = new Date();
|
|
202
|
-
}
|
|
203
|
-
this.startDateObjForm.setValue({ year: startDate.getFullYear(), month: startDate.getMonth() + 1, day: startDate.getDate() });
|
|
204
|
-
this.endDateObjForm.setValue({ year: endDate.getFullYear(), month: endDate.getMonth() + 1, day: endDate.getDate() });
|
|
205
|
-
this.startDateObjFormChange.emit(this.startDateObjForm);
|
|
206
|
-
this.endDateObjFormChange.emit(this.endDateObjForm);
|
|
207
|
-
this.datesChanged.emit([this.startDateObjForm, this.endDateObjForm]);
|
|
208
|
-
}
|
|
209
|
-
this.shortcutValueChange.emit(this.shortcutValue);
|
|
210
|
-
}
|
|
211
|
-
this._cd.detectChanges();
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
DateShortcutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateShortcutComponent, deps: [{ token: i1.ProviderService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
215
|
-
DateShortcutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateShortcutComponent, selector: "date-shortcut", inputs: { startDateObj: "startDateObj", endDateObj: "endDateObj", startDateObjForm: "startDateObjForm", endDateObjForm: "endDateObjForm", shortcutValue: "shortcutValue" }, outputs: { startDateObjChange: "startDateObjChange", endDateObjChange: "endDateObjChange", startDateObjFormChange: "startDateObjFormChange", endDateObjFormChange: "endDateObjFormChange", datesChanged: "datesChanged", shortcutValueChange: "shortcutValueChange" }, providers: [ProviderService], usesInheritance: true, ngImport: i0, template: `
|
|
216
|
-
<label class="form-control-label">Date Shortcuts</label>
|
|
217
|
-
<ng-select [(ngModel)]="shortcutValue" (change)="onSelectShortcut()" placeholder="Select Shortcut" [clearable]="false">
|
|
218
|
-
<ng-option value="Today">Today</ng-option>
|
|
219
|
-
<ng-option value="Yesterday">Yesterday</ng-option>
|
|
220
|
-
<ng-option value="Week">This Week</ng-option>
|
|
221
|
-
<ng-option value="Last Week">Last Week</ng-option>
|
|
222
|
-
<ng-option value="Month">This Month</ng-option>
|
|
223
|
-
<ng-option value="Last Month">Last Month</ng-option>
|
|
224
|
-
<ng-option value="Last 30 Days">Last 30 Days</ng-option>
|
|
225
|
-
<ng-option value="Quarter">This Quarter</ng-option>
|
|
226
|
-
<ng-option value="Last Quarter">Last Quarter</ng-option>
|
|
227
|
-
<ng-option value="Year">This Year</ng-option>
|
|
228
|
-
<ng-option value="Last Year">Last Year</ng-option>
|
|
229
|
-
<ng-option value="Q1">Q1</ng-option>
|
|
230
|
-
<ng-option value="Q2">Q2</ng-option>
|
|
231
|
-
<ng-option value="Q3">Q3</ng-option>
|
|
232
|
-
<ng-option value="Q4">Q4</ng-option>
|
|
233
|
-
<ng-option value="Last Q1">Last Q1</ng-option>
|
|
234
|
-
<ng-option value="Last Q2">Last Q2</ng-option>
|
|
235
|
-
<ng-option value="Last Q3">Last Q3</ng-option>
|
|
236
|
-
<ng-option value="Last Q4">Last Q4</ng-option>
|
|
237
|
-
<ng-option value="All">All</ng-option>
|
|
238
|
-
</ng-select>
|
|
239
|
-
`, 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 });
|
|
240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateShortcutComponent, decorators: [{
|
|
241
|
-
type: Component,
|
|
242
|
-
args: [{
|
|
243
|
-
providers: [ProviderService],
|
|
244
|
-
selector: 'date-shortcut',
|
|
245
|
-
template: `
|
|
246
|
-
<label class="form-control-label">Date Shortcuts</label>
|
|
247
|
-
<ng-select [(ngModel)]="shortcutValue" (change)="onSelectShortcut()" placeholder="Select Shortcut" [clearable]="false">
|
|
248
|
-
<ng-option value="Today">Today</ng-option>
|
|
249
|
-
<ng-option value="Yesterday">Yesterday</ng-option>
|
|
250
|
-
<ng-option value="Week">This Week</ng-option>
|
|
251
|
-
<ng-option value="Last Week">Last Week</ng-option>
|
|
252
|
-
<ng-option value="Month">This Month</ng-option>
|
|
253
|
-
<ng-option value="Last Month">Last Month</ng-option>
|
|
254
|
-
<ng-option value="Last 30 Days">Last 30 Days</ng-option>
|
|
255
|
-
<ng-option value="Quarter">This Quarter</ng-option>
|
|
256
|
-
<ng-option value="Last Quarter">Last Quarter</ng-option>
|
|
257
|
-
<ng-option value="Year">This Year</ng-option>
|
|
258
|
-
<ng-option value="Last Year">Last Year</ng-option>
|
|
259
|
-
<ng-option value="Q1">Q1</ng-option>
|
|
260
|
-
<ng-option value="Q2">Q2</ng-option>
|
|
261
|
-
<ng-option value="Q3">Q3</ng-option>
|
|
262
|
-
<ng-option value="Q4">Q4</ng-option>
|
|
263
|
-
<ng-option value="Last Q1">Last Q1</ng-option>
|
|
264
|
-
<ng-option value="Last Q2">Last Q2</ng-option>
|
|
265
|
-
<ng-option value="Last Q3">Last Q3</ng-option>
|
|
266
|
-
<ng-option value="Last Q4">Last Q4</ng-option>
|
|
267
|
-
<ng-option value="All">All</ng-option>
|
|
268
|
-
</ng-select>
|
|
269
|
-
`,
|
|
270
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
271
|
-
}]
|
|
272
|
-
}], ctorParameters: function () { return [{ type: i1.ProviderService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { startDateObj: [{
|
|
273
|
-
type: Input
|
|
274
|
-
}], endDateObj: [{
|
|
275
|
-
type: Input
|
|
276
|
-
}], startDateObjForm: [{
|
|
277
|
-
type: Input
|
|
278
|
-
}], endDateObjForm: [{
|
|
279
|
-
type: Input
|
|
280
|
-
}], startDateObjChange: [{
|
|
281
|
-
type: Output
|
|
282
|
-
}], endDateObjChange: [{
|
|
283
|
-
type: Output
|
|
284
|
-
}], startDateObjFormChange: [{
|
|
285
|
-
type: Output
|
|
286
|
-
}], endDateObjFormChange: [{
|
|
287
|
-
type: Output
|
|
288
|
-
}], datesChanged: [{
|
|
289
|
-
type: Output
|
|
290
|
-
}], shortcutValue: [{
|
|
291
|
-
type: Input
|
|
292
|
-
}], shortcutValueChange: [{
|
|
293
|
-
type: Output
|
|
294
|
-
}] } });
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1zaG9ydGN1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kYXRlLXNob3J0Y3V0L2RhdGUtc2hvcnRjdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBaUN2RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQWF2RCxZQUFvQixTQUEwQixFQUFVLEdBQXNCO1FBQzdFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQURFLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFScEUsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDcEQseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNsRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDcEIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUkzRCxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLO1FBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLG1C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dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5pbXBvcnQgeyBQcm92aWRlclNlcnZpY2UsIEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9yZXNvbHZlaW8tY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcblx0cHJvdmlkZXJzOiBbUHJvdmlkZXJTZXJ2aWNlXSxcblx0c2VsZWN0b3I6ICdkYXRlLXNob3J0Y3V0Jyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5EYXRlIFNob3J0Y3V0czwvbGFiZWw+XG5cdFx0PG5nLXNlbGVjdCBbKG5nTW9kZWwpXT1cInNob3J0Y3V0VmFsdWVcIiAoY2hhbmdlKT1cIm9uU2VsZWN0U2hvcnRjdXQoKVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFNob3J0Y3V0XCIgW2NsZWFyYWJsZV09XCJmYWxzZVwiPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIlRvZGF5XCI+VG9kYXk8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJZZXN0ZXJkYXlcIj5ZZXN0ZXJkYXk8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJXZWVrXCI+VGhpcyBXZWVrPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiTGFzdCBXZWVrXCI+TGFzdCBXZWVrPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiTW9udGhcIj5UaGlzIE1vbnRoPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiTGFzdCBNb250aFwiPkxhc3QgTW9udGg8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJMYXN0IDMwIERheXNcIj5MYXN0IDMwIERheXM8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJRdWFydGVyXCI+VGhpcyBRdWFydGVyPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiTGFzdCBRdWFydGVyXCI+TGFzdCBRdWFydGVyPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiWWVhclwiPlRoaXMgWWVhcjwvbmctb3B0aW9uPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIkxhc3QgWWVhclwiPkxhc3QgWWVhcjwvbmctb3B0aW9uPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIlExXCI+UTE8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJRMlwiPlEyPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiUTNcIj5RMzwvbmctb3B0aW9uPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIlE0XCI+UTQ8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJMYXN0IFExXCI+TGFzdCBRMTwvbmctb3B0aW9uPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIkxhc3QgUTJcIj5MYXN0IFEyPC9uZy1vcHRpb24+XG5cdFx0XHQ8bmctb3B0aW9uIHZhbHVlPVwiTGFzdCBRM1wiPkxhc3QgUTM8L25nLW9wdGlvbj5cblx0XHRcdDxuZy1vcHRpb24gdmFsdWU9XCJMYXN0IFE0XCI+TGFzdCBRNDwvbmctb3B0aW9uPlxuXHRcdFx0PG5nLW9wdGlvbiB2YWx1ZT1cIkFsbFwiPkFsbDwvbmctb3B0aW9uPlxuXHRcdDwvbmctc2VsZWN0PlxuXHRgLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIERhdGVTaG9ydGN1dENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQgeyBcblx0QElucHV0KCkgc3RhcnREYXRlT2JqO1xuXHRASW5wdXQoKSBlbmREYXRlT2JqO1xuXHRASW5wdXQoKSBzdGFydERhdGVPYmpGb3JtO1xuXHRASW5wdXQoKSBlbmREYXRlT2JqRm9ybTtcblx0QE91dHB1dCgpIHN0YXJ0RGF0ZU9iakNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8T2JqZWN0PigpO1xuXHRAT3V0cHV0KCkgZW5kRGF0ZU9iakNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8T2JqZWN0PigpO1xuXHRAT3V0cHV0KCkgc3RhcnREYXRlT2JqRm9ybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8T2JqZWN0PigpO1xuXHRAT3V0cHV0KCkgZW5kRGF0ZU9iakZvcm1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE9iamVjdD4oKTtcblx0QE91dHB1dCgpIGRhdGVzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0QElucHV0KCkgc2hvcnRjdXRWYWx1ZSA9IG51bGw7XG5cdEBPdXRwdXQoKSBzaG9ydGN1dFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTdHJpbmc+KCk7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfc2VydmljZXM6IFByb3ZpZGVyU2VydmljZSwgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG5cdFx0c3VwZXIoX3NlcnZpY2VzKTtcblx0fVxuXG5cdG5nT25Jbml0KCkge1xuXHRcdHRoaXMub25TZWxlY3RTaG9ydGN1dCgpO1xuXHR9XG5cblx0cmVzZXQoKSB7XG5cdFx0dGhpcy5zaG9ydGN1dFZhbHVlID0gbnVsbDtcblx0XHR0aGlzLnNob3J0Y3V0VmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnNob3J0Y3V0VmFsdWUpO1xuXG5cdFx0dGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXHR9XG5cblx0b25TZWxlY3RTaG9ydGN1dCgpIHtcblx0XHRpZiAodGhpcy5zaG9ydGN1dFZhbHVlKSB7XG5cdFx0XHRpZiAodGhpcy5zdGFydERhdGVPYmogJiYgdGhpcy5lbmREYXRlT2JqKSB7XG5cdFx0XHRcdGxldCBzdGFydERhdGUgPSBtb21lbnQobmV3IERhdGUodGhpcy5zdGFydERhdGVPYmpbJ3llYXInXSwgdGhpcy5zdGFydERhdGVPYmpbJ21vbnRoJ10gLSAxLCB0aGlzLnN0YXJ0RGF0ZU9ialsnZGF5J10pKS50b0RhdGUoKTtcblx0XHRcdFx0bGV0IGVuZERhdGUgPSBtb21lbnQobmV3IERhdGUodGhpcy5lbmREYXRlT2JqWyd5ZWFyJ10sIHRoaXMuZW5kRGF0ZU9ialsnbW9udGgnXSAtIDEsIHRoaXMuZW5kRGF0ZU9ialsnZGF5J10pKS50b0RhdGUoKTtcblxuXHRcdFx0XHRpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnUTEnKSB7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykucXVhcnRlcigyKS5zdWJ0cmFjdCgxLCAnZGF5cycpLnRvRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1EyJykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5xdWFydGVyKDIpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykucXVhcnRlcigzKS5zdWJ0cmFjdCgxLCAnZGF5cycpLnRvRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1EzJykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5xdWFydGVyKDMpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykucXVhcnRlcig0KS5zdWJ0cmFjdCgxLCAnZGF5cycpLnRvRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1E0Jykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5xdWFydGVyKDQpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5lbmRPZigneWVhcicpLnRvRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ0xhc3QgUTEnKSB7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnN1YnRyYWN0KDEsICd5ZWFyJykudG9EYXRlKCk7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5zdWJ0cmFjdCgxLCAneWVhcicpLnF1YXJ0ZXIoMikuc3VidHJhY3QoMSwgJ2RheXMnKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IFEyJykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5zdWJ0cmFjdCgxLCAneWVhcicpLnF1YXJ0ZXIoMikudG9EYXRlKCk7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5zdWJ0cmFjdCgxLCAneWVhcicpLnF1YXJ0ZXIoMykuc3VidHJhY3QoMSwgJ2RheXMnKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IFEzJykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5zdWJ0cmFjdCgxLCAneWVhcicpLnF1YXJ0ZXIoMykudG9EYXRlKCk7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5zdWJ0cmFjdCgxLCAneWVhcicpLnF1YXJ0ZXIoNCkuc3VidHJhY3QoMSwgJ2RheXMnKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IFE0Jykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5zdWJ0cmFjdCgxLCAneWVhcicpLnF1YXJ0ZXIoNCkudG9EYXRlKCk7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG1vbWVudCgpLmVuZE9mKCd5ZWFyJykuc3VidHJhY3QoMSwgJ3llYXInKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdUb2RheScpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCdkYXknKS50b0RhdGUoKTtcblx0XHRcdFx0XHRlbmREYXRlID0gbmV3IERhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdZZXN0ZXJkYXknKSB7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ2RheXMnKS5zdGFydE9mKCdkYXknKS50b0RhdGUoKTtcblx0XHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ2RheXMnKS5lbmRPZignZGF5JykudG9EYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnV2VlaycpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCdpc29XZWVrJykudG9EYXRlKCk7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnTGFzdCBXZWVrJykge1xuXHRcdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCdpc29XZWVrJykuc3VidHJhY3QoMSwgJ2RheXMnKS50b0RhdGUoKTtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoZW5kRGF0ZSkuc3RhcnRPZignaXNvV2VlaycpLnRvRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ01vbnRoJykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ21vbnRoJykudG9EYXRlKCk7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnTGFzdCBNb250aCcpIHtcblx0XHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZignbW9udGgnKS5zdWJ0cmFjdCgxLCAnZGF5cycpLmVuZE9mKCdkYXknKS50b0RhdGUoKTtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoZW5kRGF0ZSkuc3RhcnRPZignbW9udGgnKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IDMwIERheXMnKSB7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3VidHJhY3QoMzAsICdkYXlzJykuc3RhcnRPZignZGF5JykudG9EYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnUXVhcnRlcicpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykucXVhcnRlcihtb21lbnQoKS5xdWFydGVyKCkpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ0xhc3QgUXVhcnRlcicpIHtcblx0XHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnF1YXJ0ZXIobW9tZW50KCkucXVhcnRlcigpKS5zdWJ0cmFjdCgxLCAnZGF5cycpLmVuZE9mKCdkYXknKS50b0RhdGUoKTtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoZW5kRGF0ZSkuc3RhcnRPZigncXVhcnRlcicpLnRvRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1llYXInKSB7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ0xhc3QgWWVhcicpIHtcblx0XHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnN1YnRyYWN0KDEsICdkYXlzJykuZW5kT2YoJ2RheScpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudChlbmREYXRlKS5zdGFydE9mKCd5ZWFyJykudG9EYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnQWxsJykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKDIwMTcsIDAsIDEsIDAsIDAsIDAsIDApO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5zdGFydERhdGVPYmogPSB7eWVhcjogc3RhcnREYXRlLmdldEZ1bGxZZWFyKCksIG1vbnRoOiBzdGFydERhdGUuZ2V0TW9udGgoKSArIDEsIGRheTogc3RhcnREYXRlLmdldERhdGUoKX07XG5cdFx0XHRcdHRoaXMuZW5kRGF0ZU9iaiA9IHt5ZWFyOiBlbmREYXRlLmdldEZ1bGxZZWFyKCksIG1vbnRoOiBlbmREYXRlLmdldE1vbnRoKCkgKyAxLCBkYXk6IGVuZERhdGUuZ2V0RGF0ZSgpfTtcblxuXHRcdFx0XHR0aGlzLnN0YXJ0RGF0ZU9iakNoYW5nZS5lbWl0KHRoaXMuc3RhcnREYXRlT2JqKTtcblx0XHRcdFx0dGhpcy5lbmREYXRlT2JqQ2hhbmdlLmVtaXQodGhpcy5lbmREYXRlT2JqKTtcblxuXHRcdFx0XHR0aGlzLmRhdGVzQ2hhbmdlZC5lbWl0KFt0aGlzLnN0YXJ0RGF0ZU9iaiwgdGhpcy5lbmREYXRlT2JqXSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICh0aGlzLnN0YXJ0RGF0ZU9iakZvcm0gJiYgdGhpcy5lbmREYXRlT2JqRm9ybSkge1xuXHRcdFx0XHRsZXQgc3RhcnREYXRlID0gbW9tZW50KG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlT2JqRm9ybS52YWx1ZVsneWVhciddLCB0aGlzLnN0YXJ0RGF0ZU9iakZvcm0udmFsdWVbJ21vbnRoJ10gLSAxLCB0aGlzLnN0YXJ0RGF0ZU9iakZvcm0udmFsdWVbJ2RheSddKSkudG9EYXRlKCk7XG5cdFx0XHRcdGxldCBlbmREYXRlID0gbW9tZW50KG5ldyBEYXRlKHRoaXMuZW5kRGF0ZU9iakZvcm0udmFsdWVbJ3llYXInXSwgdGhpcy5lbmREYXRlT2JqRm9ybS52YWx1ZVsnbW9udGgnXSAtIDEsIHRoaXMuZW5kRGF0ZU9iakZvcm0udmFsdWVbJ2RheSddKSkudG9EYXRlKCk7XG5cblx0XHRcdFx0aWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1ExJykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS50b0RhdGUoKTtcblx0XHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnF1YXJ0ZXIoMikuc3VidHJhY3QoMSwgJ2RheXMnKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdRMicpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykucXVhcnRlcigyKS50b0RhdGUoKTtcblx0XHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnF1YXJ0ZXIoMykuc3VidHJhY3QoMSwgJ2RheXMnKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdRMycpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykucXVhcnRlcigzKS50b0RhdGUoKTtcblx0XHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnF1YXJ0ZXIoNCkuc3VidHJhY3QoMSwgJ2RheXMnKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdRNCcpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykucXVhcnRlcig0KS50b0RhdGUoKTtcblx0XHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuZW5kT2YoJ3llYXInKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IFExJykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5zdWJ0cmFjdCgxLCAneWVhcicpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykuc3VidHJhY3QoMSwgJ3llYXInKS5xdWFydGVyKDIpLnN1YnRyYWN0KDEsICdkYXlzJykudG9EYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnTGFzdCBRMicpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykuc3VidHJhY3QoMSwgJ3llYXInKS5xdWFydGVyKDIpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykuc3VidHJhY3QoMSwgJ3llYXInKS5xdWFydGVyKDMpLnN1YnRyYWN0KDEsICdkYXlzJykudG9EYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnTGFzdCBRMycpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykuc3VidHJhY3QoMSwgJ3llYXInKS5xdWFydGVyKDMpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykuc3VidHJhY3QoMSwgJ3llYXInKS5xdWFydGVyKDQpLnN1YnRyYWN0KDEsICdkYXlzJykudG9EYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnTGFzdCBRNCcpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykuc3VidHJhY3QoMSwgJ3llYXInKS5xdWFydGVyKDQpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBtb21lbnQoKS5lbmRPZigneWVhcicpLnN1YnRyYWN0KDEsICd5ZWFyJykudG9EYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnVG9kYXknKSB7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZignZGF5JykudG9EYXRlKCk7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnWWVzdGVyZGF5Jykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICdkYXlzJykuc3RhcnRPZignZGF5JykudG9EYXRlKCk7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICdkYXlzJykuZW5kT2YoJ2RheScpLnRvRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1dlZWsnKSB7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZignaXNvV2VlaycpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ0xhc3QgV2VlaycpIHtcblx0XHRcdFx0XHRlbmREYXRlID0gbW9tZW50KCkuc3RhcnRPZignaXNvV2VlaycpLnN1YnRyYWN0KDEsICdkYXlzJykudG9EYXRlKCk7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KGVuZERhdGUpLnN0YXJ0T2YoJ2lzb1dlZWsnKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdNb250aCcpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoKS5zdGFydE9mKCdtb250aCcpLnRvRGF0ZSgpO1xuXHRcdFx0XHRcdGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ0xhc3QgTW9udGgnKSB7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ21vbnRoJykuc3VidHJhY3QoMSwgJ2RheXMnKS5lbmRPZignZGF5JykudG9EYXRlKCk7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KGVuZERhdGUpLnN0YXJ0T2YoJ21vbnRoJykudG9EYXRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSBpZiAodGhpcy5zaG9ydGN1dFZhbHVlID09PSAnTGFzdCAzMCBEYXlzJykge1xuXHRcdFx0XHRcdGVuZERhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN1YnRyYWN0KDMwLCAnZGF5cycpLnN0YXJ0T2YoJ2RheScpLnRvRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ1F1YXJ0ZXInKSB7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnF1YXJ0ZXIobW9tZW50KCkucXVhcnRlcigpKS50b0RhdGUoKTtcblx0XHRcdFx0XHRlbmREYXRlID0gbmV3IERhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IFF1YXJ0ZXInKSB7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5xdWFydGVyKG1vbWVudCgpLnF1YXJ0ZXIoKSkuc3VidHJhY3QoMSwgJ2RheXMnKS5lbmRPZignZGF5JykudG9EYXRlKCk7XG5cdFx0XHRcdFx0c3RhcnREYXRlID0gbW9tZW50KGVuZERhdGUpLnN0YXJ0T2YoJ3F1YXJ0ZXInKS50b0RhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdZZWFyJykge1xuXHRcdFx0XHRcdHN0YXJ0RGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS50b0RhdGUoKTtcblx0XHRcdFx0XHRlbmREYXRlID0gbmV3IERhdGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIGlmICh0aGlzLnNob3J0Y3V0VmFsdWUgPT09ICdMYXN0IFllYXInKSB7XG5cdFx0XHRcdFx0ZW5kRGF0ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ3llYXInKS5zdWJ0cmFjdCgxLCAnZGF5cycpLmVuZE9mKCdkYXknKS50b0RhdGUoKTtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBtb21lbnQoZW5kRGF0ZSkuc3RhcnRPZigneWVhcicpLnRvRGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHRoaXMuc2hvcnRjdXRWYWx1ZSA9PT0gJ0FsbCcpIHtcblx0XHRcdFx0XHRzdGFydERhdGUgPSBuZXcgRGF0ZSgyMDE3LCAwLCAxLCAwLCAwLCAwLCAwKTtcblx0XHRcdFx0XHRlbmREYXRlID0gbmV3IERhdGUoKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuc3RhcnREYXRlT2JqRm9ybS5zZXRWYWx1ZSh7eWVhcjogc3RhcnREYXRlLmdldEZ1bGxZZWFyKCksIG1vbnRoOiBzdGFydERhdGUuZ2V0TW9udGgoKSArIDEsIGRheTogc3RhcnREYXRlLmdldERhdGUoKX0pO1xuXHRcdFx0XHR0aGlzLmVuZERhdGVPYmpGb3JtLnNldFZhbHVlKHt5ZWFyOiBlbmREYXRlLmdldEZ1bGxZZWFyKCksIG1vbnRoOiBlbmREYXRlLmdldE1vbnRoKCkgKyAxLCBkYXk6IGVuZERhdGUuZ2V0RGF0ZSgpfSk7XG5cblx0XHRcdFx0dGhpcy5zdGFydERhdGVPYmpGb3JtQ2hhbmdlLmVtaXQodGhpcy5zdGFydERhdGVPYmpGb3JtKTtcblx0XHRcdFx0dGhpcy5lbmREYXRlT2JqRm9ybUNoYW5nZS5lbWl0KHRoaXMuZW5kRGF0ZU9iakZvcm0pO1xuXG5cdFx0XHRcdHRoaXMuZGF0ZXNDaGFuZ2VkLmVtaXQoW3RoaXMuc3RhcnREYXRlT2JqRm9ybSwgdGhpcy5lbmREYXRlT2JqRm9ybV0pO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLnNob3J0Y3V0VmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnNob3J0Y3V0VmFsdWUpO1xuXHRcdH1cblxuXHRcdHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcblx0fVxufVxuIl19
|
|
@@ -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
|
-
}
|
|
9
|
-
DateShortcutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateShortcutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
-
DateShortcutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DateShortcutModule, declarations: [DateShortcutComponent], imports: [FormsModule,
|
|
11
|
-
CommonModule,
|
|
12
|
-
NgSelectModule], exports: [DateShortcutComponent] });
|
|
13
|
-
DateShortcutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateShortcutModule, imports: [FormsModule,
|
|
14
|
-
CommonModule,
|
|
15
|
-
NgSelectModule] });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1zaG9ydGN1dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kYXRlLXNob3J0Y3V0L2RhdGUtc2hvcnRjdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBZXRELE1BQU0sT0FBTyxrQkFBa0I7O2dIQUFsQixrQkFBa0I7aUhBQWxCLGtCQUFrQixpQkFIN0IscUJBQXFCLGFBUnJCLFdBQVc7UUFDWCxZQUFZO1FBQ1osY0FBYyxhQUdkLHFCQUFxQjtpSEFNVixrQkFBa0IsWUFYN0IsV0FBVztRQUNYLFlBQVk7UUFDWixjQUFjOzRGQVNILGtCQUFrQjtrQkFiOUIsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUU7d0JBQ1IsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGNBQWM7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNSLHFCQUFxQjtxQkFDckI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNiLHFCQUFxQjtxQkFDckI7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBEYXRlU2hvcnRjdXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtc2hvcnRjdXQuY29tcG9uZW50JztcdFx0XHRcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuXG5ATmdNb2R1bGUoe1xuXHRpbXBvcnRzOiBbXG5cdFx0Rm9ybXNNb2R1bGUsXG5cdFx0Q29tbW9uTW9kdWxlLFxuXHRcdE5nU2VsZWN0TW9kdWxlXG5cdF0sXG5cdGV4cG9ydHM6IFtcblx0XHREYXRlU2hvcnRjdXRDb21wb25lbnRcblx0XSxcblx0ZGVjbGFyYXRpb25zOiBbXG5cdFx0RGF0ZVNob3J0Y3V0Q29tcG9uZW50XG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVNob3J0Y3V0TW9kdWxlIHsgfVxuIl19
|