@resolveio/client-lib-core 15.5.3 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/account-manager.service.mjs +229 -0
- package/esm2022/lib/auth/auth-guard.service.mjs +174 -0
- package/esm2022/lib/auth/auth-permissions.service.mjs +23 -0
- package/esm2022/lib/auth/auth.service.mjs +251 -0
- package/esm2022/lib/auth/auth365.component.mjs +51 -0
- package/esm2022/lib/auth/can-deactivate-guard.service.mjs +13 -0
- package/esm2022/lib/auth/enroll.component.mjs +88 -0
- package/esm2022/lib/auth/forgot-password.component.mjs +89 -0
- package/esm2022/lib/core.component.mjs +404 -0
- package/esm2022/lib/core.module.mjs +176 -0
- package/esm2022/lib/core.service.mjs +88 -0
- package/esm2022/lib/directive/focus.mjs +24 -0
- package/esm2022/lib/directive/scroll.mjs +54 -0
- package/esm2022/lib/home/home.component.mjs +84 -0
- package/esm2022/lib/logger/logger.component.mjs +229 -0
- package/esm2022/lib/models/app-status.model.mjs +2 -0
- package/esm2022/lib/models/collection-document.model.mjs +2 -0
- package/esm2022/lib/models/cron-job.model.mjs +2 -0
- package/esm2022/lib/models/dialog.model.mjs +2 -0
- package/esm2022/lib/models/file.model.mjs +2 -0
- package/esm2022/lib/models/log-method-latency.model.mjs +2 -0
- package/esm2022/lib/models/navbar-main-tab.model.mjs +2 -0
- package/esm2022/lib/models/pagination.model.mjs +2 -0
- package/esm2022/lib/models/permission.model.mjs +2 -0
- package/esm2022/lib/models/select-data-label.model.mjs +2 -0
- package/esm2022/lib/models/subscription.model.mjs +2 -0
- package/esm2022/lib/models/support-ticket.model.mjs +2 -0
- package/esm2022/lib/models/user-group.model.mjs +2 -0
- package/esm2022/lib/models/user.model.mjs +2 -0
- package/esm2022/lib/offline-db.mjs +519 -0
- package/esm2022/lib/offline-manager.service.mjs +109 -0
- package/esm2022/lib/pipes/domsanitizor.pipe.mjs +29 -0
- package/esm2022/lib/pipes/filter.pipe.mjs +36 -0
- package/esm2022/lib/pipes/json-parse.pipe.mjs +29 -0
- package/esm2022/lib/pipes/minus-currency.pipe.mjs +16 -0
- package/esm2022/lib/pipes/phone.pipe.mjs +47 -0
- package/esm2022/lib/pipes/pipe.module.mjs +54 -0
- package/esm2022/lib/pipes/reverse-list.pipe.mjs +17 -0
- package/esm2022/lib/pipes/titlecase.pipe.mjs +22 -0
- package/esm2022/lib/report-builder.permission.mjs +13 -0
- package/esm2022/lib/resolveio-class.mjs +50 -0
- package/esm2022/lib/shared/shared.module.mjs +96 -0
- package/esm2022/lib/socket-manager.service.mjs +340 -0
- package/esm2022/lib/socket.service.mjs +200 -0
- package/esm2022/lib/super-admin.permission.mjs +9 -0
- package/esm2022/lib/support-ticket/detail/support-ticket-detail.component.mjs +211 -0
- package/esm2022/lib/support-ticket/edit/support-ticket-edit.component.mjs +131 -0
- package/esm2022/lib/support-ticket/list/support-ticket-list.component.mjs +142 -0
- package/esm2022/lib/support-ticket/new/support-ticket-new.component.mjs +121 -0
- package/esm2022/lib/support-ticket/support-ticket.component.mjs +67 -0
- package/esm2022/lib/support-ticket/support-ticket.module.mjs +50 -0
- package/esm2022/lib/support-ticket/support-ticket.routing.mjs +20 -0
- package/esm2022/lib/support-ticket/support-ticket.service.mjs +16 -0
- package/esm2022/lib/token-manager.service.mjs +25 -0
- package/esm2022/lib/user-settings/settings/users-settings.component.mjs +302 -0
- package/esm2022/lib/user-settings/user-settings.component.mjs +61 -0
- package/esm2022/lib/user-settings/user-settings.module.mjs +41 -0
- package/esm2022/lib/user-settings/user-settings.permission.mjs +10 -0
- package/esm2022/lib/user-settings/user-settings.routing.mjs +14 -0
- package/esm2022/lib/user-settings/user-settings.service.mjs +16 -0
- package/esm2022/lib/util/action-name.helper.mjs +9 -0
- package/esm2022/lib/util/aws.service.mjs +80 -0
- package/esm2022/lib/util/common.helper.mjs +133 -0
- package/esm2022/lib/util/validation.service.mjs +185 -0
- package/esm2022/lib/util/window-resize.service.mjs +38 -0
- package/esm2022/lib/util/window.service.mjs +16 -0
- package/esm2022/lib/widgets/alert/alert.model.mjs +2 -0
- package/esm2022/lib/widgets/alert/alert.service.mjs +79 -0
- package/esm2022/lib/widgets/collapse-table/collapse-table.component.mjs +83 -0
- package/esm2022/lib/widgets/collapse-table/collapse-table.module.mjs +34 -0
- package/esm2022/lib/widgets/data-table/data-table.component.mjs +84 -0
- package/esm2022/lib/widgets/data-table/data-table.model.mjs +2 -0
- package/esm2022/lib/widgets/data-table/data-table.module.mjs +41 -0
- package/esm2022/lib/widgets/date-shortcut/date-shortcut.component.mjs +198 -0
- package/esm2022/lib/widgets/date-shortcut/date-shortcut.module.mjs +32 -0
- package/esm2022/lib/widgets/dialog/dialog.confirm.content.mjs +67 -0
- package/esm2022/lib/widgets/dialog/dialog.error.content.mjs +60 -0
- package/esm2022/lib/widgets/dialog/dialog.input.content.mjs +200 -0
- package/esm2022/lib/widgets/dialog/dialog.login.content.mjs +354 -0
- package/esm2022/lib/widgets/dialog/dialog.notify.content.mjs +60 -0
- package/esm2022/lib/widgets/dialog/dialog.register.content.mjs +333 -0
- package/esm2022/lib/widgets/dialog/dialog.select-array-objs.content.mjs +203 -0
- package/esm2022/lib/widgets/dialog/dialog.select-array.content.mjs +310 -0
- package/esm2022/lib/widgets/dialog/dialog.select-data-labels.content.mjs +196 -0
- package/esm2022/lib/widgets/dialog/dialog.select-datetime.content.mjs +191 -0
- package/esm2022/lib/widgets/dialog/dialog.select-with-buttons-url.content.mjs +166 -0
- package/esm2022/lib/widgets/dialog/dialog.service.mjs +98 -0
- package/esm2022/lib/widgets/file/file-upload.component.mjs +433 -0
- package/esm2022/lib/widgets/file/file-upload.module.mjs +48 -0
- package/esm2022/lib/widgets/form-button/form-button.component.mjs +97 -0
- package/esm2022/lib/widgets/form-button/form-button.module.mjs +28 -0
- package/esm2022/lib/widgets/navbar-main/navbar-main.component.mjs +222 -0
- package/esm2022/lib/widgets/navbar-module/navbar-module.component.mjs +108 -0
- package/esm2022/lib/widgets/navbar-module/navbar-module.model.mjs +2 -0
- package/esm2022/lib/widgets/responsive-button-group/responsive-button-group.component.mjs +41 -0
- package/esm2022/lib/widgets/responsive-button-group/responsive-button-group.module.mjs +24 -0
- package/esm2022/lib/widgets/scheduler/scheduler.component.mjs +186 -0
- package/esm2022/lib/widgets/scheduler/scheduler.module.mjs +37 -0
- package/esm2022/lib/widgets/sort-table/sort-table-header.component.mjs +72 -0
- package/esm2022/lib/widgets/sort-table/sort-table-ngfor.component.mjs +49 -0
- package/esm2022/lib/widgets/sort-table/sort-table.directive.mjs +177 -0
- package/esm2022/lib/widgets/sort-table/sort-table.module.mjs +38 -0
- package/esm2022/lib/widgets/user-role/user-role.component.mjs +29 -0
- package/esm2022/lib/widgets/user-role/user-role.module.mjs +24 -0
- package/esm2022/public_api.mjs +91 -0
- package/esm2022/resolveio-client-lib-core.mjs +5 -0
- package/fesm2022/resolveio-client-lib-core.mjs +9019 -0
- package/fesm2022/resolveio-client-lib-core.mjs.map +1 -0
- package/index.d.ts +3 -0
- package/lib/auth/auth-guard.service.d.ts +2 -2
- package/lib/auth/can-deactivate-guard.service.d.ts +1 -2
- package/lib/core.component.d.ts +1 -2
- package/lib/core.module.d.ts +26 -29
- package/lib/directive/focus.d.ts +1 -1
- package/lib/directive/scroll.d.ts +1 -1
- package/lib/logger/logger.component.d.ts +0 -2
- package/lib/models/dialog.model.d.ts +1 -1
- package/lib/models/pagination.model.d.ts +1 -0
- package/lib/models/user-group.model.d.ts +0 -1
- package/lib/offline-db.d.ts +1 -5
- package/lib/offline-manager.service.d.ts +1 -4
- package/lib/socket-manager.service.d.ts +5 -34
- package/lib/socket.service.d.ts +3 -20
- package/lib/token-manager.service.d.ts +2 -4
- package/lib/util/aws.service.d.ts +1 -2
- package/lib/util/common.helper.d.ts +1 -3
- package/lib/util/window-resize.service.d.ts +6 -5
- package/lib/widgets/collapse-table/collapse-table.component.d.ts +1 -1
- package/lib/widgets/data-table/data-table.component.d.ts +1 -1
- package/lib/widgets/date-shortcut/date-shortcut.component.d.ts +1 -5
- package/lib/widgets/dialog/dialog.confirm.content.d.ts +1 -1
- package/lib/widgets/dialog/dialog.error.content.d.ts +1 -1
- package/lib/widgets/dialog/dialog.input.content.d.ts +1 -1
- package/lib/widgets/dialog/dialog.login.content.d.ts +1 -1
- package/lib/widgets/dialog/dialog.notify.content.d.ts +1 -1
- package/lib/widgets/dialog/dialog.select-array-objs.content.d.ts +1 -1
- package/lib/widgets/dialog/dialog.select-array.content.d.ts +1 -1
- package/lib/widgets/dialog/dialog.select-data-labels.content.d.ts +1 -1
- package/lib/widgets/dialog/dialog.select-datetime.content.d.ts +1 -1
- package/lib/widgets/dialog/dialog.select-with-buttons-url.content.d.ts +1 -1
- package/lib/widgets/file/file-upload.component.d.ts +1 -1
- package/lib/widgets/file/file-upload.module.d.ts +2 -2
- package/lib/widgets/form-button/form-button.component.d.ts +1 -1
- package/lib/widgets/navbar-main/navbar-main.component.d.ts +1 -2
- package/lib/widgets/navbar-module/navbar-module.component.d.ts +1 -1
- package/lib/widgets/responsive-button-group/responsive-button-group.component.d.ts +1 -1
- package/lib/widgets/sort-table/sort-table-header.component.d.ts +1 -1
- package/lib/widgets/sort-table/sort-table-ngfor.component.d.ts +1 -1
- package/lib/widgets/sort-table/sort-table.directive.d.ts +8 -1
- package/lib/widgets/user-role/user-role.component.d.ts +1 -1
- package/package.json +5 -6
- package/fesm2020/resolveio-client-lib-core.min.mjs +0 -1
- package/lib/logger/diff-viewer.component.d.ts +0 -35
|
@@ -0,0 +1,84 @@
|
|
|
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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi93aWRnZXRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEYXRhdGFibGVNb2RlbCB7XG5cdHNlYXJjaFN0cmluZzogc3RyaW5nO1xuXHRlbnRyaWVzUGVyUGFnZTogc3RyaW5nO1xuXHRwYWdlTnVtOiBudW1iZXI7XG5cdHNvcnRDb2x1bW46IHN0cmluZztcblx0c29ydE9yZGVyOiBzdHJpbmc7IFxuXHRmaWx0ZXJzPzogT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGF0YWJsZUNvbHVtbiB7XG5cdG5hbWU6IHN0cmluZztcblx0ZGF0YTogc3RyaW5nO1xuXHRzdWJEYXRhPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
|
@@ -0,0 +1,198 @@
|
|
|
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
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
|
@@ -0,0 +1,67 @@
|
|
|
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">×</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">×</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=
|
|
@@ -0,0 +1,60 @@
|
|
|
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">×</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">×</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==
|