ngx-techlify-core 11.4.9 → 11.5.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/bundles/ngx-techlify-core.umd.js +211 -125
- package/bundles/ngx-techlify-core.umd.js.map +1 -1
- package/bundles/ngx-techlify-core.umd.min.js +1 -1
- package/bundles/ngx-techlify-core.umd.min.js.map +1 -1
- package/esm2015/lib/entity-files/entity-file.service.js +4 -1
- package/esm2015/lib/entity-files/entity-files-view-all.component.js +74 -4
- package/esm2015/lib/material.module.js +4 -2
- package/esm2015/ngx-techlify-core.js +35 -35
- package/fesm2015/ngx-techlify-core.js +78 -5
- package/fesm2015/ngx-techlify-core.js.map +1 -1
- package/lib/entity-files/entity-file.service.d.ts +1 -0
- package/lib/entity-files/entity-files-view-all.component.d.ts +15 -1
- package/ngx-techlify-core.d.ts +34 -34
- package/ngx-techlify-core.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/dialog'), require('@angular/material/table'), require('@angular/material/sort'), require('@ngneat/until-destroy'), require('@angular/common'), require('@angular/forms'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('@angular/material/snack-bar'), require('@angular/cdk/a11y'), require('@angular/cdk/coercion'), require('@angular/material/form-field'), require('@angular/material/select'), require('moment'), require('@angular/material/icon'), require('@angular/router'), require('@angular/material/tooltip'), require('@angular/material/core'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/input'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/material/card'), require('@angular/material/divider'), require('@angular/material/chips'), require('@angular/material/datepicker'), require('@angular/material/list'), require('@angular/material/button-toggle'), require('@angular/flex-layout'), require('ngx-infinite-scroll'), require('ngx-doc-viewer'), require('@angular/cdk/keycodes'), require('@angular/material/autocomplete'), require('ngx-editor'), require('xlsx'), require('@angular/platform-browser'), require('jsondiffpatch'), require('@angular/material/slide-toggle')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('ngx-techlify-core', ['exports', '@angular/core', '@angular/material/dialog', '@angular/material/table', '@angular/material/sort', '@ngneat/until-destroy', '@angular/common', '@angular/forms', '@angular/common/http', 'rxjs', 'rxjs/operators', '@angular/material/snack-bar', '@angular/cdk/a11y', '@angular/cdk/coercion', '@angular/material/form-field', '@angular/material/select', 'moment', '@angular/material/icon', '@angular/router', '@angular/material/tooltip', '@angular/material/core', '@angular/material/button', '@angular/material/checkbox', '@angular/material/input', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/material/card', '@angular/material/divider', '@angular/material/chips', '@angular/material/datepicker', '@angular/material/list', '@angular/material/button-toggle', '@angular/flex-layout', 'ngx-infinite-scroll', 'ngx-doc-viewer', '@angular/cdk/keycodes', '@angular/material/autocomplete', 'ngx-editor', 'xlsx', '@angular/platform-browser', 'jsondiffpatch', '@angular/material/slide-toggle'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['ngx-techlify-core'] = {}, global.ng.core, global.ng.material.dialog, global.ng.material.table, global.ng.material.sort, global['@ngneat/until-destroy'], global.ng.common, global.ng.forms, global.ng.common.http, global.rxjs, global.rxjs.operators, global.ng.material.snackBar, global.ng.cdk.a11y, global.ng.cdk.coercion, global.ng.material.formField, global.ng.material.select, global.moment, global.ng.material.icon, global.ng.router, global.ng.material.tooltip, global.ng.material.core, global.ng.material.button, global.ng.material.checkbox, global.ng.material.input, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.material.card, global.ng.material.divider, global.ng.material.chips, global.ng.material.datepicker, global.ng.material.list, global.ng.material.buttonToggle, global.ng.flexLayout, global['ngx-infinite-scroll'], global['ngx-doc-viewer'], global.ng.cdk.keycodes, global.ng.material.autocomplete, global['ngx-editor'], global.xlsx, global.ng.platformBrowser, global.jsondiffpatch, global.ng.material.slideToggle));
|
|
5
|
-
}(this, (function (exports, i0, dialog, table, sort, untilDestroy, common, forms, i1$1, rxjs, operators, i1, a11y, coercion, formField, select, moment_, icon, i1$2, tooltip, core, button, checkbox, input, menu, progressSpinner, card, divider, chips, datepicker, list, buttonToggle, flexLayout, ngxInfiniteScroll, ngxDocViewer, keycodes, autocomplete, ngxEditor, XLSX, platformBrowser, jsondiffpatch, slideToggle) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/dialog'), require('@angular/material/table'), require('@angular/material/sort'), require('@ngneat/until-destroy'), require('@angular/common'), require('@angular/forms'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('@angular/material/snack-bar'), require('@angular/cdk/a11y'), require('@angular/cdk/coercion'), require('@angular/material/form-field'), require('@angular/material/select'), require('moment'), require('@angular/material/icon'), require('@angular/router'), require('@angular/material/tooltip'), require('@angular/material/core'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/input'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/material/card'), require('@angular/material/divider'), require('@angular/material/chips'), require('@angular/material/datepicker'), require('@angular/material/list'), require('@angular/material/button-toggle'), require('@angular/material/sidenav'), require('@angular/flex-layout'), require('ngx-infinite-scroll'), require('ngx-doc-viewer'), require('@angular/cdk/keycodes'), require('@angular/material/autocomplete'), require('ngx-editor'), require('xlsx'), require('@angular/platform-browser'), require('jsondiffpatch'), require('@angular/material/slide-toggle')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('ngx-techlify-core', ['exports', '@angular/core', '@angular/material/dialog', '@angular/material/table', '@angular/material/sort', '@ngneat/until-destroy', '@angular/common', '@angular/forms', '@angular/common/http', 'rxjs', 'rxjs/operators', '@angular/material/snack-bar', '@angular/cdk/a11y', '@angular/cdk/coercion', '@angular/material/form-field', '@angular/material/select', 'moment', '@angular/material/icon', '@angular/router', '@angular/material/tooltip', '@angular/material/core', '@angular/material/button', '@angular/material/checkbox', '@angular/material/input', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/material/card', '@angular/material/divider', '@angular/material/chips', '@angular/material/datepicker', '@angular/material/list', '@angular/material/button-toggle', '@angular/material/sidenav', '@angular/flex-layout', 'ngx-infinite-scroll', 'ngx-doc-viewer', '@angular/cdk/keycodes', '@angular/material/autocomplete', 'ngx-editor', 'xlsx', '@angular/platform-browser', 'jsondiffpatch', '@angular/material/slide-toggle'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['ngx-techlify-core'] = {}, global.ng.core, global.ng.material.dialog, global.ng.material.table, global.ng.material.sort, global['@ngneat/until-destroy'], global.ng.common, global.ng.forms, global.ng.common.http, global.rxjs, global.rxjs.operators, global.ng.material.snackBar, global.ng.cdk.a11y, global.ng.cdk.coercion, global.ng.material.formField, global.ng.material.select, global.moment, global.ng.material.icon, global.ng.router, global.ng.material.tooltip, global.ng.material.core, global.ng.material.button, global.ng.material.checkbox, global.ng.material.input, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.material.card, global.ng.material.divider, global.ng.material.chips, global.ng.material.datepicker, global.ng.material.list, global.ng.material.buttonToggle, global.ng.material.sidenav, global.ng.flexLayout, global['ngx-infinite-scroll'], global['ngx-doc-viewer'], global.ng.cdk.keycodes, global.ng.material.autocomplete, global['ngx-editor'], global.xlsx, global.ng.platformBrowser, global.jsondiffpatch, global.ng.material.slideToggle));
|
|
5
|
+
}(this, (function (exports, i0, dialog, table, sort, untilDestroy, common, forms, i1$1, rxjs, operators, i1, a11y, coercion, formField, select, moment_, icon, i1$2, tooltip, core, button, checkbox, input, menu, progressSpinner, card, divider, chips, datepicker, list, buttonToggle, sidenav, flexLayout, ngxInfiniteScroll, ngxDocViewer, keycodes, autocomplete, ngxEditor, XLSX, platformBrowser, jsondiffpatch, slideToggle) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespace(e) {
|
|
8
8
|
if (e && e.__esModule) return e;
|
|
@@ -1570,6 +1570,9 @@
|
|
|
1570
1570
|
.skipHeader()
|
|
1571
1571
|
.post("api/entity-files-upload", formData).toPromise();
|
|
1572
1572
|
};
|
|
1573
|
+
EntityFileService.prototype.bulkUpdate = function (model) {
|
|
1574
|
+
return this.http.post("api/entity-files/bulk-update", model).toPromise();
|
|
1575
|
+
};
|
|
1573
1576
|
return EntityFileService;
|
|
1574
1577
|
}());
|
|
1575
1578
|
EntityFileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EntityFileService_Factory() { return new EntityFileService(i0.ɵɵinject(HttpService)); }, token: EntityFileService, providedIn: "root" });
|
|
@@ -1774,14 +1777,18 @@
|
|
|
1774
1777
|
]; };
|
|
1775
1778
|
|
|
1776
1779
|
exports.ɵo = /** @class */ (function () {
|
|
1777
|
-
function EntityFilesViewAllComponent(entityFileService, location, alertService, dialog, fb) {
|
|
1780
|
+
function EntityFilesViewAllComponent(entityFileService, location, alertService, dialog, fb, errorHandler) {
|
|
1778
1781
|
this.entityFileService = entityFileService;
|
|
1779
1782
|
this.location = location;
|
|
1780
1783
|
this.alertService = alertService;
|
|
1781
1784
|
this.dialog = dialog;
|
|
1782
1785
|
this.fb = fb;
|
|
1786
|
+
this.errorHandler = errorHandler;
|
|
1783
1787
|
this.viewOnly = false;
|
|
1784
1788
|
this.allowMultipleFiles = false;
|
|
1789
|
+
this.allowBulkUpdate = false;
|
|
1790
|
+
this.documentIds = [];
|
|
1791
|
+
this.isAllSelected = false;
|
|
1785
1792
|
/**
|
|
1786
1793
|
* Should we allow tagging entity-files?
|
|
1787
1794
|
*/
|
|
@@ -1801,10 +1808,17 @@
|
|
|
1801
1808
|
this.perPage = 25;
|
|
1802
1809
|
this.lastPage = 0;
|
|
1803
1810
|
this.fileList = [];
|
|
1811
|
+
this.dataSource = new table.MatTableDataSource();
|
|
1812
|
+
this.isReload = false;
|
|
1804
1813
|
this.filterFormGroup = this.fb.group({
|
|
1805
1814
|
title: [""],
|
|
1806
1815
|
tag_ids: [""]
|
|
1807
1816
|
});
|
|
1817
|
+
this.updateRowForm = this.fb.group({
|
|
1818
|
+
title: [''],
|
|
1819
|
+
details: [''],
|
|
1820
|
+
tag_ids: [''],
|
|
1821
|
+
});
|
|
1808
1822
|
}
|
|
1809
1823
|
EntityFilesViewAllComponent.prototype.ngOnInit = function () {
|
|
1810
1824
|
//File dropper config
|
|
@@ -1846,6 +1860,9 @@
|
|
|
1846
1860
|
if (!this.viewOnly) {
|
|
1847
1861
|
this.displayedColumns.push('actions');
|
|
1848
1862
|
}
|
|
1863
|
+
if (this.allowBulkUpdate) {
|
|
1864
|
+
this.displayedColumns.push('select');
|
|
1865
|
+
}
|
|
1849
1866
|
};
|
|
1850
1867
|
EntityFilesViewAllComponent.prototype.listenRoutes = function () {
|
|
1851
1868
|
var _this = this;
|
|
@@ -1871,6 +1888,7 @@
|
|
|
1871
1888
|
result = _a.sent();
|
|
1872
1889
|
this.lastPage = result.last_page || this.page;
|
|
1873
1890
|
this.entityFiles = this.entityFiles.concat(result.data);
|
|
1891
|
+
this.dataSource = new table.MatTableDataSource(this.entityFiles);
|
|
1874
1892
|
this.isWorking = false;
|
|
1875
1893
|
return [2 /*return*/];
|
|
1876
1894
|
}
|
|
@@ -1898,6 +1916,7 @@
|
|
|
1898
1916
|
files = __spread(this.entityFiles);
|
|
1899
1917
|
files.push(result);
|
|
1900
1918
|
this.entityFiles = files;
|
|
1919
|
+
this.dataSource = new table.MatTableDataSource(this.entityFiles);
|
|
1901
1920
|
}
|
|
1902
1921
|
return [2 /*return*/];
|
|
1903
1922
|
});
|
|
@@ -1957,6 +1976,8 @@
|
|
|
1957
1976
|
};
|
|
1958
1977
|
EntityFilesViewAllComponent.prototype.reload = function () {
|
|
1959
1978
|
this.entityFiles = [];
|
|
1979
|
+
this.documentIds = [];
|
|
1980
|
+
this.isReload = false;
|
|
1960
1981
|
this.page = 1;
|
|
1961
1982
|
if (!this.isWorking) {
|
|
1962
1983
|
this.fetchEntityFilesDetails();
|
|
@@ -2007,12 +2028,74 @@
|
|
|
2007
2028
|
});
|
|
2008
2029
|
});
|
|
2009
2030
|
};
|
|
2031
|
+
EntityFilesViewAllComponent.prototype.selectAll = function () {
|
|
2032
|
+
var _this = this;
|
|
2033
|
+
this.documentIds = [];
|
|
2034
|
+
this.entityFiles.map(function (employee) {
|
|
2035
|
+
employee.is_selected = _this.isAllSelected;
|
|
2036
|
+
if (_this.isAllSelected) {
|
|
2037
|
+
_this.documentIds.push(employee.id);
|
|
2038
|
+
}
|
|
2039
|
+
});
|
|
2040
|
+
this.dataSource = new table.MatTableDataSource(this.entityFiles);
|
|
2041
|
+
};
|
|
2042
|
+
EntityFilesViewAllComponent.prototype.employeeListModified = function (event, employee) {
|
|
2043
|
+
this.isAllSelected = false;
|
|
2044
|
+
if (event.checked) {
|
|
2045
|
+
this.documentIds.push(employee.id);
|
|
2046
|
+
}
|
|
2047
|
+
else {
|
|
2048
|
+
this.documentIds = this.documentIds.filter(function (employeeData) { return employeeData != employee.id; });
|
|
2049
|
+
}
|
|
2050
|
+
};
|
|
2051
|
+
EntityFilesViewAllComponent.prototype.unCheckAll = function () {
|
|
2052
|
+
this.isAllSelected = false;
|
|
2053
|
+
this.documentIds = [];
|
|
2054
|
+
this.entityFiles.map(function (employee) {
|
|
2055
|
+
employee.is_selected = false;
|
|
2056
|
+
});
|
|
2057
|
+
this.dataSource = new table.MatTableDataSource(this.entityFiles);
|
|
2058
|
+
};
|
|
2059
|
+
EntityFilesViewAllComponent.prototype.resetFieldValueOfRow = function (field, event) {
|
|
2060
|
+
event.stopPropagation();
|
|
2061
|
+
this.updateRowForm.get(field).setValue("");
|
|
2062
|
+
};
|
|
2063
|
+
EntityFilesViewAllComponent.prototype.bulkUpdate = function (fieldName) {
|
|
2064
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2065
|
+
var data, error_1;
|
|
2066
|
+
var _this = this;
|
|
2067
|
+
return __generator(this, function (_a) {
|
|
2068
|
+
switch (_a.label) {
|
|
2069
|
+
case 0:
|
|
2070
|
+
data = this.updateRowForm.value;
|
|
2071
|
+
this.isReload = this.isWorking = true;
|
|
2072
|
+
data.field_name = fieldName;
|
|
2073
|
+
data.document_ids = this.documentIds;
|
|
2074
|
+
_a.label = 1;
|
|
2075
|
+
case 1:
|
|
2076
|
+
_a.trys.push([1, 3, , 4]);
|
|
2077
|
+
return [4 /*yield*/, this.entityFileService.bulkUpdate(data).then(function (res) {
|
|
2078
|
+
_this.alertService.addAlert("Successfully updated", "success");
|
|
2079
|
+
_this.isWorking = false;
|
|
2080
|
+
})];
|
|
2081
|
+
case 2:
|
|
2082
|
+
_a.sent();
|
|
2083
|
+
return [3 /*break*/, 4];
|
|
2084
|
+
case 3:
|
|
2085
|
+
error_1 = _a.sent();
|
|
2086
|
+
this.errorHandler.handleError(error_1);
|
|
2087
|
+
return [3 /*break*/, 4];
|
|
2088
|
+
case 4: return [2 /*return*/];
|
|
2089
|
+
}
|
|
2090
|
+
});
|
|
2091
|
+
});
|
|
2092
|
+
};
|
|
2010
2093
|
return EntityFilesViewAllComponent;
|
|
2011
2094
|
}());
|
|
2012
2095
|
exports.ɵo.decorators = [
|
|
2013
2096
|
{ type: i0.Component, args: [{
|
|
2014
2097
|
selector: 'app-entity-files-view-all',
|
|
2015
|
-
template: "<div class=\"mat-typography\" *ngIf=\"!displayMode\">\n <div fxLayout=\"row\" fxLayoutGap=\"1rem\">\n <mat-card fxFlex=\"70%\">\n <mat-card-title>\n <div fxLayout fxLayoutGap=\"1rem\">\n <h3 class=\"font-weight-bold primary-color\" fxLayout=\"center center\">\n <mat-icon>\n <span class=\"material-icons\">\n description\n </span>\n </mat-icon>\n {{title}}s\n </h3>\n <div>\n <button type=\"button\" class=\"mx-1\" mat-raised-button color=\"primary\" (click)=\"addEntityFile()\"\n *ngIf=\"!viewOnly\">\n <mat-icon>\n <span class=\"material-icons\">\n add_circle_outline\n </span>\n </mat-icon>\n {{title}}\n </button>\n </div>\n </div>\n </mat-card-title>\n <mat-card-subtitle>\n <form [formGroup]=\"filterFormGroup\" style=\"font-size: 10px;\" fxLayout fxLayoutGap=\"1rem\">\n <mat-form-field *ngIf=\"!removeSearch\" appearance=\"outline\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Search\" name=\"title\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filters.title\" matSuffix mat-icon-button\n (click)=\"resetFieldValue($event, 'title')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" *ngIf=\"useTechlifyTags && !isWorking\">\n <mat-label>Tag</mat-label>\n <app-searchable-selector formControlName=\"tag_ids\" apiUrl=\"api/techlify-tagger-tags\" [multiple]=\"true\"\n placeHolder=\"Tag\">\n </app-searchable-selector>\n <button mat-icon-button matSuffix *ngIf=\"filterFormGroup.get('tag_ids').value.length\"\n (click)=\"resetFieldValue($event, 'tag_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n </mat-card-subtitle>\n <mat-card-content class=\"entity-file-card\">\n <table mat-table [dataSource]=\"entityFiles\" class=\"w-100\" matSort multiTemplateDataRows infiniteScroll\n [infiniteScrollDistance]=\"1.5\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef> Title </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>\n <span>\n {{element.title}}\n </span>\n <span>\n <a href=\"{{element.url}}\" target=\"_blank\" class=\"text-decoration-none text-muted\">\n <button mat-icon-button type=\"button\">\n <mat-icon>download</mat-icon>\n </button>\n </a>\n </span>\n </div>\n </td>\n </ng-container>\n\n <!-- Details Column -->\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef> Details </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element.details\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- File size Column -->\n <ng-container matColumnDef=\"file_size\">\n <th mat-header-cell *matHeaderCellDef> File Size </th>\n <td mat-cell *matCellDef=\"let element\"> {{ sizeOf(element.file_size)}} </td>\n </ng-container>\n\n <!-- Tags Column -->\n <ng-container matColumnDef=\"tag\">\n <th mat-header-cell *matHeaderCellDef> Tag </th>\n <td mat-cell *matCellDef=\"let element\" class=\"p-1\">\n <mat-chip-list aria-label=\"Tags\">\n <mat-chip *ngFor=\"let taggerModel of element.tags\">\n {{taggerModel?.tag?.title}}\n </mat-chip>\n </mat-chip-list>\n </td>\n </ng-container>\n\n <!-- Uploaded On Column -->\n <ng-container matColumnDef=\"uploaded_on\">\n <th mat-header-cell *matHeaderCellDef> Uploaded On </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>\n {{element.created_at | date: 'mediumDate'}}\n </div>\n <div class=\"text-muted\">\n By {{element.creator?.name}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" style=\"min-width:110px\" class=\"text-muted\">\n <button type=\"button\" mat-icon-button (click)=\"editEntityFile(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button (click)=\"deleteEntityFile(element)\">\n <mat-icon>delete</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </mat-card-content>\n </mat-card>\n <section fxFlex=\"30%\">\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\n </app-file-dropper>\n </section>\n </div>\n</div>\n\n<div fxLayout=\"row wrap\" fxLayoutGap=\"1rem\" class=\"mat-typography p-4\" *ngIf=\"displayMode\">\n <div *ngFor=\"let efile of entityFiles\">\n <app-document-viewer [file]=\"efile.file\" [fileUrl]=\"efile.url\" [config]=\"this.viewerConfig\" [disableEdit]=\"true\">\n </app-document-viewer>\n <a href=\"{{efile.url}}\" target=\"_blank\">\n <button mat-button type=\"button\">View</button>\n </a>\n </div>\n</div>\n",
|
|
2098
|
+
template: "<mat-drawer-container>\n <mat-drawer style=\"z-index: 1;\" fxLayout=\"column\" [fxHide]=\"!this.documentIds.length\" fxHide.xs fxHide.sm fxHide.lt-md\n mode=\"side\" position=\"end\" opened>\n <mat-card class=\"update_card\" *ngIf=\"this.documentIds.length\">\n <mat-card-header>\n <mat-card-title>\n <div mat-dialog-title class=\"mt-2 ml-2 text-center\">\n <div>Update Selected Rows</div>\n </div>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content fxLayout=\"column\">\n <form [formGroup]=\"updateRowForm\">\n <div fxLayout=\"column\">\n\n <mat-form-field fxFlex=\"100%\" class=\"px-1\">\n <input matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"updateRowForm.get('title').value || updateRowForm.get('title').value===0\"\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('title', $event)\">\n <mat-icon>close</mat-icon>\n </button>\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('title').value || updateRowForm.get('title').value===0)\n && updateRowForm.get('title').valid\" (click)=\"bulkUpdate('title')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\" class=\"px-1\">\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\n <button mat-button *ngIf=\"updateRowForm.get('details').value || updateRowForm.get('details').value===0\"\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('details', $event)\">\n <mat-icon>close</mat-icon>\n </button>\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('details').value || updateRowForm.get('details').value===0)\n && updateRowForm.get('details').valid\" (click)=\"bulkUpdate('details')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"useTechlifyTags\">\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <app-techlify-tagger-tag-form-field modelType=\"entity-file\" formControlName=\"tag_ids\"\n placeholder=\"Enter new tag\">\n </app-techlify-tagger-tag-form-field>\n <button mat-button *ngIf=\"updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0\"\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('tag_ids', $event)\">\n <mat-icon>close</mat-icon>\n </button>\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0)\n && updateRowForm.get('tag_ids').valid\" (click)=\"bulkUpdate('tag_ids')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n </ng-container>\n </div>\n </form>\n </mat-card-content>\n </mat-card>\n\n </mat-drawer>\n\n <mat-drawer-content>\n <div class=\"mat-typography\" *ngIf=\"!displayMode\">\n <div fxLayout=\"row\" fxLayoutGap=\"1rem\">\n <mat-card [fxFlex]=\"this.documentIds.length ? '100%' : '70%'\">\n <mat-card-title>\n <div fxLayout fxLayoutGap=\"1rem\">\n <h3 class=\"font-weight-bold primary-color\" fxLayout=\"center center\">\n <mat-icon>\n <span class=\"material-icons\">\n description\n </span>\n </mat-icon>\n {{title}}s\n </h3>\n <div>\n <button type=\"button\" class=\"mx-1\" mat-raised-button color=\"primary\" (click)=\"addEntityFile()\"\n *ngIf=\"!viewOnly\">\n <mat-icon>\n <span class=\"material-icons\">\n add_circle_outline\n </span>\n </mat-icon>\n {{title}}\n </button>\n </div>\n </div>\n </mat-card-title>\n <mat-card-subtitle>\n <form [formGroup]=\"filterFormGroup\" style=\"font-size: 10px;\" fxLayout fxLayoutGap=\"1rem\">\n <mat-form-field *ngIf=\"!removeSearch\" appearance=\"outline\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Search\" name=\"title\"\n autocomplete=\"off\" />\n <button mat-button *ngIf=\"filters.title\" matSuffix mat-icon-button\n (click)=\"resetFieldValue($event, 'title')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" *ngIf=\"useTechlifyTags && !isWorking\">\n <mat-label>Tag</mat-label>\n <app-searchable-selector formControlName=\"tag_ids\" apiUrl=\"api/techlify-tagger-tags\" [multiple]=\"true\"\n placeHolder=\"Tag\">\n </app-searchable-selector>\n <button mat-icon-button matSuffix *ngIf=\"filterFormGroup.get('tag_ids').value.length\"\n (click)=\"resetFieldValue($event, 'tag_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <button mat-icon-button (click)=\"reload()\" *ngIf=\"isReload\" type=\"button\" matTooltip=\"Refresh\">\n <mat-icon>\n <span class=\"material-icons\">\n refresh\n </span>\n </mat-icon>\n </button>\n </form>\n </mat-card-subtitle>\n <mat-card-content class=\"entity-file-card\">\n <table mat-table [dataSource]=\"dataSource\" class=\"w-100\" matSort multiTemplateDataRows infiniteScroll\n [infiniteScrollDistance]=\"1.5\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n\n <!-- Select Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef style=\"width:30px\">\n <mat-checkbox name=\"employee\" [(ngModel)]=\"isAllSelected\" (change)=\"selectAll()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let element\" style=\"width:30px\">\n <mat-checkbox name=\"employee[{{element?.id}}]\" (click)=\"$event.stopPropagation()\"\n [(ngModel)]=\"element.is_selected\" (change)=\"employeeListModified($event, element)\"\n [disabled]=\"!entityFiles.length\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef> Title </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>\n <span>\n {{element.title}}\n </span>\n <span>\n <a href=\"{{element.url}}\" target=\"_blank\" class=\"text-decoration-none text-muted\">\n <button mat-icon-button type=\"button\">\n <mat-icon>download</mat-icon>\n </button>\n </a>\n </span>\n </div>\n </td>\n </ng-container>\n\n <!-- Details Column -->\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef> Details </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element.details\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- File size Column -->\n <ng-container matColumnDef=\"file_size\">\n <th mat-header-cell *matHeaderCellDef> File Size </th>\n <td mat-cell *matCellDef=\"let element\"> {{ sizeOf(element.file_size)}} </td>\n </ng-container>\n\n <!-- Tags Column -->\n <ng-container matColumnDef=\"tag\">\n <th mat-header-cell *matHeaderCellDef> Tag </th>\n <td mat-cell *matCellDef=\"let element\" class=\"p-1\">\n <mat-chip-list aria-label=\"Tags\">\n <mat-chip *ngFor=\"let taggerModel of element.tags\">\n {{taggerModel?.tag?.title}}\n </mat-chip>\n </mat-chip-list>\n </td>\n </ng-container>\n\n <!-- Uploaded On Column -->\n <ng-container matColumnDef=\"uploaded_on\">\n <th mat-header-cell *matHeaderCellDef> Uploaded On </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>\n {{element.created_at | date: 'mediumDate'}}\n </div>\n <div class=\"text-muted\">\n By {{element.creator?.name}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" style=\"min-width:110px\" class=\"text-muted\">\n <button type=\"button\" mat-icon-button (click)=\"editEntityFile(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button (click)=\"deleteEntityFile(element)\">\n <mat-icon>delete</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </mat-card-content>\n </mat-card>\n <section fxFlex=\"30%\" *ngIf=\"!this.documentIds.length\">\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\n </app-file-dropper>\n </section>\n </div>\n </div>\n </mat-drawer-content>\n\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1rem\" class=\"mat-typography p-4\" *ngIf=\"displayMode\">\n <div *ngFor=\"let efile of entityFiles\">\n <app-document-viewer [file]=\"efile.file\" [fileUrl]=\"efile.url\" [config]=\"this.viewerConfig\" [disableEdit]=\"true\">\n </app-document-viewer>\n <a href=\"{{efile.url}}\" target=\"_blank\">\n <button mat-button type=\"button\">View</button>\n </a>\n </div>\n </div>\n",
|
|
2016
2099
|
styles: [""]
|
|
2017
2100
|
},] }
|
|
2018
2101
|
];
|
|
@@ -2021,7 +2104,8 @@
|
|
|
2021
2104
|
{ type: common.Location },
|
|
2022
2105
|
{ type: AlertService },
|
|
2023
2106
|
{ type: dialog.MatDialog },
|
|
2024
|
-
{ type: forms.FormBuilder }
|
|
2107
|
+
{ type: forms.FormBuilder },
|
|
2108
|
+
{ type: ErrorHandlerService }
|
|
2025
2109
|
]; };
|
|
2026
2110
|
exports.ɵo.propDecorators = {
|
|
2027
2111
|
entityId: [{ type: i0.Input }],
|
|
@@ -2031,6 +2115,7 @@
|
|
|
2031
2115
|
hideTitleAndDetails: [{ type: i0.Input }],
|
|
2032
2116
|
displayMode: [{ type: i0.Input }],
|
|
2033
2117
|
allowMultipleFiles: [{ type: i0.Input }],
|
|
2118
|
+
allowBulkUpdate: [{ type: i0.Input }],
|
|
2034
2119
|
useTechlifyTags: [{ type: i0.Input }],
|
|
2035
2120
|
title: [{ type: i0.Input }]
|
|
2036
2121
|
};
|
|
@@ -2554,7 +2639,7 @@
|
|
|
2554
2639
|
};
|
|
2555
2640
|
|
|
2556
2641
|
var SearchableSelectorComponent_1;
|
|
2557
|
-
exports.ɵ
|
|
2642
|
+
exports.ɵs = SearchableSelectorComponent_1 = /** @class */ (function () {
|
|
2558
2643
|
function SearchableSelectorComponent(formBuilder, _focusMonitor, http, _elementRef, dialog, ngControl) {
|
|
2559
2644
|
var _this = this;
|
|
2560
2645
|
this._focusMonitor = _focusMonitor;
|
|
@@ -2832,8 +2917,8 @@
|
|
|
2832
2917
|
};
|
|
2833
2918
|
return SearchableSelectorComponent;
|
|
2834
2919
|
}());
|
|
2835
|
-
exports.ɵ
|
|
2836
|
-
exports.ɵ
|
|
2920
|
+
exports.ɵs.nextId = 0;
|
|
2921
|
+
exports.ɵs.decorators = [
|
|
2837
2922
|
{ type: i0.Component, args: [{
|
|
2838
2923
|
selector: 'app-searchable-selector',
|
|
2839
2924
|
template: "<div [formGroup]=\"selectorForm\" class=\"searchable-selctor-container\">\n <mat-select formControlName=\"select_value\" focused=\"false\" [multiple]=\"multiple\" [required]=\"required\"\n autocomplete=\"off\" (selectionChange)=\"_handleInput()\" msInfiniteScroll (infiniteScroll)=\"onScroll()\"\n (openedChange)=\"openedChange($event)\">\n <mat-form-field *ngIf=\"enableSearch\" class=\"p-1 w-100\">\n <input matInput formControlName=\"search\" placeholder=\"Search...\" (keydown)=\"$event.stopPropagation();\"\n autocomplete=\"off\">\n </mat-form-field>\n <div>\n <!-- TODO:Implement scroll only for options and have search fixed -->\n <mat-option *ngFor=\" let item of dataItems\" [value]=\"getPropertyValue(item,valueField)\">\n {{getPropertyValue(item,titleField)}}\n </mat-option>\n </div>\n <div fxlayout=\"column\" class=\"w-100\" fxLayoutAlign=\"center center\">\n <mat-spinner class=\"my-4\" color=\"primary\" diameter=\"30\" *ngIf=\"isLoading\"></mat-spinner>\n </div>\n </mat-select>\n <mat-icon *ngIf=\"add\" class=\"relative-icon\" matSuffix (click)=\"addItem($event)\">add_circle_outline</mat-icon>\n <mat-icon *ngIf=\"edit && selectedValue\" class=\"relative-icon\" matSuffix (click)=\"editItem($event)\">edit</mat-icon>\n</div>",
|
|
@@ -2846,7 +2931,7 @@
|
|
|
2846
2931
|
styles: [".searchable-selctor-container{display:flex}.relative-icon{position:relative;top:-4px}"]
|
|
2847
2932
|
},] }
|
|
2848
2933
|
];
|
|
2849
|
-
exports.ɵ
|
|
2934
|
+
exports.ɵs.ctorParameters = function () { return [
|
|
2850
2935
|
{ type: forms.FormBuilder },
|
|
2851
2936
|
{ type: a11y.FocusMonitor },
|
|
2852
2937
|
{ type: HttpService },
|
|
@@ -2854,7 +2939,7 @@
|
|
|
2854
2939
|
{ type: dialog.MatDialog },
|
|
2855
2940
|
{ type: forms.NgControl, decorators: [{ type: i0.Optional }, { type: i0.Self }] }
|
|
2856
2941
|
]; };
|
|
2857
|
-
exports.ɵ
|
|
2942
|
+
exports.ɵs.propDecorators = {
|
|
2858
2943
|
valueField: [{ type: i0.Input }],
|
|
2859
2944
|
titleField: [{ type: i0.Input }],
|
|
2860
2945
|
apiUrl: [{ type: i0.Input }],
|
|
@@ -2881,9 +2966,9 @@
|
|
|
2881
2966
|
disabled: [{ type: i0.Input }],
|
|
2882
2967
|
value: [{ type: i0.Input }]
|
|
2883
2968
|
};
|
|
2884
|
-
exports.ɵ
|
|
2969
|
+
exports.ɵs = SearchableSelectorComponent_1 = __decorate([
|
|
2885
2970
|
untilDestroy.UntilDestroy()
|
|
2886
|
-
], exports.ɵ
|
|
2971
|
+
], exports.ɵs);
|
|
2887
2972
|
|
|
2888
2973
|
var MatSelectInfiniteScrollDirective = /** @class */ (function () {
|
|
2889
2974
|
function MatSelectInfiniteScrollDirective(matSelect, ngZone) {
|
|
@@ -3205,7 +3290,7 @@
|
|
|
3205
3290
|
}
|
|
3206
3291
|
|
|
3207
3292
|
var TimelineFilterComponent_1;
|
|
3208
|
-
exports.ɵ
|
|
3293
|
+
exports.ɵbc = TimelineFilterComponent_1 = /** @class */ (function () {
|
|
3209
3294
|
function TimelineFilterComponent(formBuilder, ngControl, datePipe) {
|
|
3210
3295
|
this.ngControl = ngControl;
|
|
3211
3296
|
this.datePipe = datePipe;
|
|
@@ -3381,8 +3466,8 @@
|
|
|
3381
3466
|
};
|
|
3382
3467
|
return TimelineFilterComponent;
|
|
3383
3468
|
}());
|
|
3384
|
-
exports.ɵ
|
|
3385
|
-
exports.ɵ
|
|
3469
|
+
exports.ɵbc.nextId = 0;
|
|
3470
|
+
exports.ɵbc.decorators = [
|
|
3386
3471
|
{ type: i0.Component, args: [{
|
|
3387
3472
|
selector: 'app-timeline-filter',
|
|
3388
3473
|
template: "<ng-container *ngIf=\"form\" [formGroup]=\"form\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>{{labelText}}</mat-label>\n <mat-select [formControl]=\"timelineValue\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline.value\">\n {{timeline.viewValue}}\n </mat-option>\n </mat-select>\n <button mat-button *ngIf=\"showClearbutton && timelineValue.value\" matSuffix mat-icon-button\n (click)=\"timelineValue.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"showCustomDateFields\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>From Date</mat-label>\n <input matInput formControlName=\"{{dateFrom}}\" [matDatepicker]=\"fromPicker\" (click)=\"fromPicker.open()\"\n placeholder=\"From Date\" readonly />\n <mat-datepicker-toggle matSuffix [for]=\"fromPicker\"></mat-datepicker-toggle>\n <mat-datepicker #fromPicker></mat-datepicker>\n <button mat-button *ngIf=\"getFieldValue(dateFrom)\" matSuffix mat-icon-button\n (click)=\"resetFieldValue(dateFrom)\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>To Date</mat-label>\n <input matInput formControlName=\"{{dateTo}}\" [matDatepicker]=\"toPicker\" (click)=\"toPicker.open()\"\n placeholder=\"To Date\" readonly />\n <mat-datepicker-toggle matSuffix [for]=\"\"></mat-datepicker-toggle>\n <mat-datepicker #toPicker></mat-datepicker>\n <button mat-button *ngIf=\"getFieldValue(dateTo)\" matSuffix mat-icon-button\n (click)=\"resetFieldValue(dateTo)\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n </ng-container>\n</ng-container>\n<div *ngIf=\"!form\" [formGroup]=\"selectorForm\">\n <mat-select formControlName=\"select_value\" focused=\"false\" [required]=\"required\"\n autocomplete=\"off\" (selectionChange)=\"_handleInput()\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline?.value\">\n {{ timeline?.viewValue }} {{ selectedRange?.show_custom_field && timeline?.value == 1 ? getDateRangeString() : '' }}\n </mat-option>\n </mat-select>\n <mat-date-range-input hidden (dateChange)=\"onCustomDateChange($event)\" [rangePicker]=\"picker\">\n <input matStartDate #customStartDate>\n <input matEndDate (dateChange)=\"dateRangeChange(customStartDate, customEndDate)\" #customEndDate>\n </mat-date-range-input>\n <mat-date-range-picker #picker [touchUi]=\"touchUi\"></mat-date-range-picker>\n</div>\n",
|
|
@@ -3395,12 +3480,12 @@
|
|
|
3395
3480
|
styles: [""]
|
|
3396
3481
|
},] }
|
|
3397
3482
|
];
|
|
3398
|
-
exports.ɵ
|
|
3483
|
+
exports.ɵbc.ctorParameters = function () { return [
|
|
3399
3484
|
{ type: forms.FormBuilder },
|
|
3400
3485
|
{ type: forms.NgControl, decorators: [{ type: i0.Optional }, { type: i0.Self }] },
|
|
3401
3486
|
{ type: common.DatePipe }
|
|
3402
3487
|
]; };
|
|
3403
|
-
exports.ɵ
|
|
3488
|
+
exports.ɵbc.propDecorators = {
|
|
3404
3489
|
picker: [{ type: i0.ViewChild, args: ['picker',] }],
|
|
3405
3490
|
timelineValue: [{ type: i0.Input }],
|
|
3406
3491
|
timelines: [{ type: i0.Input }],
|
|
@@ -3419,9 +3504,9 @@
|
|
|
3419
3504
|
disabled: [{ type: i0.Input }],
|
|
3420
3505
|
value: [{ type: i0.Input }]
|
|
3421
3506
|
};
|
|
3422
|
-
exports.ɵ
|
|
3507
|
+
exports.ɵbc = TimelineFilterComponent_1 = __decorate([
|
|
3423
3508
|
untilDestroy.UntilDestroy()
|
|
3424
|
-
], exports.ɵ
|
|
3509
|
+
], exports.ɵbc);
|
|
3425
3510
|
|
|
3426
3511
|
var LoaderComponent = /** @class */ (function () {
|
|
3427
3512
|
function LoaderComponent() {
|
|
@@ -3783,7 +3868,8 @@
|
|
|
3783
3868
|
datepicker.MatDatepickerModule,
|
|
3784
3869
|
list.MatListModule,
|
|
3785
3870
|
tooltip.MatTooltipModule,
|
|
3786
|
-
buttonToggle.MatButtonToggleModule
|
|
3871
|
+
buttonToggle.MatButtonToggleModule,
|
|
3872
|
+
sidenav.MatSidenavModule
|
|
3787
3873
|
]
|
|
3788
3874
|
},] }
|
|
3789
3875
|
];
|
|
@@ -4274,11 +4360,11 @@
|
|
|
4274
4360
|
MaterialModule
|
|
4275
4361
|
],
|
|
4276
4362
|
declarations: [
|
|
4277
|
-
exports.ɵ
|
|
4363
|
+
exports.ɵs,
|
|
4278
4364
|
MatSelectInfiniteScrollDirective
|
|
4279
4365
|
],
|
|
4280
4366
|
exports: [
|
|
4281
|
-
exports.ɵ
|
|
4367
|
+
exports.ɵs,
|
|
4282
4368
|
MatSelectInfiniteScrollDirective
|
|
4283
4369
|
]
|
|
4284
4370
|
},] }
|
|
@@ -4441,7 +4527,7 @@
|
|
|
4441
4527
|
}());
|
|
4442
4528
|
TimelineFilterModule.decorators = [
|
|
4443
4529
|
{ type: i0.NgModule, args: [{
|
|
4444
|
-
declarations: [exports.ɵ
|
|
4530
|
+
declarations: [exports.ɵbc],
|
|
4445
4531
|
imports: [
|
|
4446
4532
|
common.CommonModule,
|
|
4447
4533
|
TimelineFilterRoutingModule,
|
|
@@ -4449,7 +4535,7 @@
|
|
|
4449
4535
|
MaterialModule,
|
|
4450
4536
|
forms.ReactiveFormsModule
|
|
4451
4537
|
],
|
|
4452
|
-
exports: [exports.ɵ
|
|
4538
|
+
exports: [exports.ɵbc]
|
|
4453
4539
|
},] }
|
|
4454
4540
|
];
|
|
4455
4541
|
|
|
@@ -4551,7 +4637,7 @@
|
|
|
4551
4637
|
required: "Email Type is required"
|
|
4552
4638
|
},
|
|
4553
4639
|
};
|
|
4554
|
-
exports.ɵ
|
|
4640
|
+
exports.ɵbf = /** @class */ (function () {
|
|
4555
4641
|
function EmailSubscriptionUserFormComponent(fb, formValidatorService, alertService, dialogRef, data, http) {
|
|
4556
4642
|
this.fb = fb;
|
|
4557
4643
|
this.formValidatorService = formValidatorService;
|
|
@@ -4613,14 +4699,14 @@
|
|
|
4613
4699
|
};
|
|
4614
4700
|
return EmailSubscriptionUserFormComponent;
|
|
4615
4701
|
}());
|
|
4616
|
-
exports.ɵ
|
|
4702
|
+
exports.ɵbf.decorators = [
|
|
4617
4703
|
{ type: i0.Component, args: [{
|
|
4618
4704
|
selector: 'app-email-subscription-user-form',
|
|
4619
4705
|
template: "<form [formGroup]=\"esUserFormGroup\" (ngSubmit)=\"submit()\" class=\"mat-typography\">\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Email Subscription User</div>\n </div>\n\n <div mat-dialog-content fxLayout=\"column\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n\n <mat-form-field fxFlex=\"48%\" class=\"mt-1\">\n <mat-label>User</mat-label>\n <app-searchable-selector formControlName=\"user_id\" apiUrl=\"api/users\" titleField=\"name\" required\n [selectedValue]=\"selectedUser\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('user_id')\">{{getErrorMessage('user_id')}}</mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"48%\" class=\"mt-1\">\n <mat-label>Email Type</mat-label>\n <app-searchable-selector formControlName=\"email_type_id\" apiUrl=\"api/email-subscription-types\"\n required [selectedValue]=\"selectedType\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('email_type_id')\">{{getErrorMessage('email_type_id')}}</mat-error>\n </mat-form-field>\n\n <div class=\"my-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">Cancel</button>\n <button mat-raised-button type=\"submit\" color=\"primary\" [disabled]=\"isSubmitLoading\">\n <app-loader class=\"inline-loader\" [isLoading]=\"isSubmitLoading\"></app-loader>\n Save\n </button>\n </div>\n </div>\n </div>\n\n\n </div>\n</form>",
|
|
4620
4706
|
styles: [""]
|
|
4621
4707
|
},] }
|
|
4622
4708
|
];
|
|
4623
|
-
exports.ɵ
|
|
4709
|
+
exports.ɵbf.ctorParameters = function () { return [
|
|
4624
4710
|
{ type: forms.FormBuilder },
|
|
4625
4711
|
{ type: FormValidatorService },
|
|
4626
4712
|
{ type: AlertService },
|
|
@@ -4628,9 +4714,9 @@
|
|
|
4628
4714
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] },
|
|
4629
4715
|
{ type: HttpService }
|
|
4630
4716
|
]; };
|
|
4631
|
-
exports.ɵ
|
|
4717
|
+
exports.ɵbf = __decorate([
|
|
4632
4718
|
untilDestroy.UntilDestroy()
|
|
4633
|
-
], exports.ɵ
|
|
4719
|
+
], exports.ɵbf);
|
|
4634
4720
|
|
|
4635
4721
|
var EmailSubscriptionUserFormModule = /** @class */ (function () {
|
|
4636
4722
|
function EmailSubscriptionUserFormModule() {
|
|
@@ -4639,7 +4725,7 @@
|
|
|
4639
4725
|
}());
|
|
4640
4726
|
EmailSubscriptionUserFormModule.decorators = [
|
|
4641
4727
|
{ type: i0.NgModule, args: [{
|
|
4642
|
-
declarations: [exports.ɵ
|
|
4728
|
+
declarations: [exports.ɵbf],
|
|
4643
4729
|
imports: [
|
|
4644
4730
|
common.CommonModule,
|
|
4645
4731
|
MaterialModule,
|
|
@@ -4649,12 +4735,12 @@
|
|
|
4649
4735
|
EmailSubscriptionUserFormRoutingModule,
|
|
4650
4736
|
LoaderModule
|
|
4651
4737
|
],
|
|
4652
|
-
entryComponents: [exports.ɵ
|
|
4738
|
+
entryComponents: [exports.ɵbf]
|
|
4653
4739
|
},] }
|
|
4654
4740
|
];
|
|
4655
4741
|
|
|
4656
4742
|
var log$4 = new Logger('EmailSubscriptionUser list');
|
|
4657
|
-
exports.ɵ
|
|
4743
|
+
exports.ɵbg = /** @class */ (function () {
|
|
4658
4744
|
function EmailSubscriptionUserListComponent(dialog, http, router) {
|
|
4659
4745
|
this.dialog = dialog;
|
|
4660
4746
|
this.http = http;
|
|
@@ -4715,7 +4801,7 @@
|
|
|
4715
4801
|
};
|
|
4716
4802
|
EmailSubscriptionUserListComponent.prototype.addEmailSubscriptionUser = function () {
|
|
4717
4803
|
var _this = this;
|
|
4718
|
-
var dialogRef = this.dialog.open(exports.ɵ
|
|
4804
|
+
var dialogRef = this.dialog.open(exports.ɵbf, {
|
|
4719
4805
|
width: '800px',
|
|
4720
4806
|
autoFocus: false,
|
|
4721
4807
|
data: {} // Any data passed here will be injected into the model
|
|
@@ -4730,7 +4816,7 @@
|
|
|
4730
4816
|
EmailSubscriptionUserListComponent.prototype.editEmailSubscriptionUser = function (event, esUser) {
|
|
4731
4817
|
var _this = this;
|
|
4732
4818
|
event.stopPropagation();
|
|
4733
|
-
var dialogRef = this.dialog.open(exports.ɵ
|
|
4819
|
+
var dialogRef = this.dialog.open(exports.ɵbf, {
|
|
4734
4820
|
width: '800px',
|
|
4735
4821
|
autoFocus: false,
|
|
4736
4822
|
data: {
|
|
@@ -4788,24 +4874,24 @@
|
|
|
4788
4874
|
};
|
|
4789
4875
|
return EmailSubscriptionUserListComponent;
|
|
4790
4876
|
}());
|
|
4791
|
-
exports.ɵ
|
|
4877
|
+
exports.ɵbg.decorators = [
|
|
4792
4878
|
{ type: i0.Component, args: [{
|
|
4793
4879
|
selector: 'app-email-subscription-user-list',
|
|
4794
4880
|
template: "<div class=\"mat-typography m-4\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <app-email-subscription-user-list-filter (valueChange)=\"filterChange($event)\">\n </app-email-subscription-user-list-filter>\n <div class=\"ml-2\">\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"addEmailSubscriptionUser()\">+\n User Subscription</button>\n </div>\n <span fxFlex></span>\n <mat-form-field appearance=\"outline\" class=\"no-padding\">\n <mat-label>Columns</mat-label>\n <mat-select [formControl]=\"displayColumns\" multiple (selectionChange)=\"columnsChange()\">\n <mat-option *ngFor=\"let column of availableDisplayColumns\" [value]=\"column.value\">{{column.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n\n\n <section>\n <div class=\"scroll-container\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\n <table mat-table [dataSource]=\"esUserList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"email-subscription-user-table\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let esUser; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n <ng-container matColumnDef=\"user.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> User </th>\n <td mat-cell *matCellDef=\"let esUser;\"> {{ esUser?.user?.name }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"email_type.title\">\n <th mat-header-cell *matHeaderCellDef> Email Type </th>\n <td mat-cell *matCellDef=\"let esUser;\"> {{ esUser?.email_type?.title }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"creator.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Creator</th>\n <td mat-cell *matCellDef=\"let esUser;\">\n {{esUser?.creator?.name }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created On</th>\n <td mat-cell *matCellDef=\"let esUser;\">\n {{esUser?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let esUser\">\n <button type=\"button\" mat-icon-button (click)=\"deleteEmailSubscriptionUser($event,esUser)\">\n <mat-icon>delete</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button (click)=\"editEmailSubscriptionUser($event,esUser)\">\n <mat-icon>edit</mat-icon>\n </button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n\n </section>\n</div>",
|
|
4795
4881
|
styles: [".scroll-container{max-height:800px;overflow-y:auto}"]
|
|
4796
4882
|
},] }
|
|
4797
4883
|
];
|
|
4798
|
-
exports.ɵ
|
|
4884
|
+
exports.ɵbg.ctorParameters = function () { return [
|
|
4799
4885
|
{ type: dialog.MatDialog },
|
|
4800
4886
|
{ type: HttpService },
|
|
4801
4887
|
{ type: i1$2.Router }
|
|
4802
4888
|
]; };
|
|
4803
|
-
exports.ɵ
|
|
4889
|
+
exports.ɵbg.propDecorators = {
|
|
4804
4890
|
sort: [{ type: i0.ViewChild, args: [sort.MatSort, { static: true },] }]
|
|
4805
4891
|
};
|
|
4806
|
-
exports.ɵ
|
|
4892
|
+
exports.ɵbg = __decorate([
|
|
4807
4893
|
untilDestroy.UntilDestroy()
|
|
4808
|
-
], exports.ɵ
|
|
4894
|
+
], exports.ɵbg);
|
|
4809
4895
|
|
|
4810
4896
|
var esulr = {
|
|
4811
4897
|
title: 'Email Subscription Users',
|
|
@@ -4817,7 +4903,7 @@
|
|
|
4817
4903
|
var routes$4 = [
|
|
4818
4904
|
{
|
|
4819
4905
|
path: '',
|
|
4820
|
-
component: exports.ɵ
|
|
4906
|
+
component: exports.ɵbg,
|
|
4821
4907
|
canActivate: [AuthenticationGuard],
|
|
4822
4908
|
data: esulr
|
|
4823
4909
|
},
|
|
@@ -4847,7 +4933,7 @@
|
|
|
4847
4933
|
},] }
|
|
4848
4934
|
];
|
|
4849
4935
|
|
|
4850
|
-
exports.ɵ
|
|
4936
|
+
exports.ɵbi = /** @class */ (function () {
|
|
4851
4937
|
function EmailSubscriptionUserListFilterComponent(fb) {
|
|
4852
4938
|
this.fb = fb;
|
|
4853
4939
|
this.valueChange = new i0.EventEmitter();
|
|
@@ -4876,22 +4962,22 @@
|
|
|
4876
4962
|
};
|
|
4877
4963
|
return EmailSubscriptionUserListFilterComponent;
|
|
4878
4964
|
}());
|
|
4879
|
-
exports.ɵ
|
|
4965
|
+
exports.ɵbi.decorators = [
|
|
4880
4966
|
{ type: i0.Component, args: [{
|
|
4881
4967
|
selector: 'app-email-subscription-user-list-filter',
|
|
4882
4968
|
template: "<form [formGroup]=\"esUserFilterForm\" fxLayout=\"row wrap\" fxLayoutGap=\"1rem\" fxLayoutAlign=\"start center\">\n <mat-form-field class=\"ml-3\">\n <mat-label>User</mat-label>\n <app-searchable-selector formControlName=\"user_id\" apiUrl=\"api/users\" titleField=\"name\">\n </app-searchable-selector>\n <button mat-button *ngIf=\"getFieldValue('user_id')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('user_id')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field class=\"ml-3\">\n <mat-label>Email Type</mat-label>\n <app-searchable-selector formControlName=\"email_type_id\" apiUrl=\"api/email-subscription-types\">\n </app-searchable-selector>\n <button mat-button *ngIf=\"getFieldValue('email_type_id')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('email_type_id')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n</form>",
|
|
4883
4969
|
styles: [""]
|
|
4884
4970
|
},] }
|
|
4885
4971
|
];
|
|
4886
|
-
exports.ɵ
|
|
4972
|
+
exports.ɵbi.ctorParameters = function () { return [
|
|
4887
4973
|
{ type: forms.FormBuilder }
|
|
4888
4974
|
]; };
|
|
4889
|
-
exports.ɵ
|
|
4975
|
+
exports.ɵbi.propDecorators = {
|
|
4890
4976
|
valueChange: [{ type: i0.Output }]
|
|
4891
4977
|
};
|
|
4892
|
-
exports.ɵ
|
|
4978
|
+
exports.ɵbi = __decorate([
|
|
4893
4979
|
untilDestroy.UntilDestroy()
|
|
4894
|
-
], exports.ɵ
|
|
4980
|
+
], exports.ɵbi);
|
|
4895
4981
|
|
|
4896
4982
|
var EmailSubscriptionUserListFilterModule = /** @class */ (function () {
|
|
4897
4983
|
function EmailSubscriptionUserListFilterModule() {
|
|
@@ -4900,7 +4986,7 @@
|
|
|
4900
4986
|
}());
|
|
4901
4987
|
EmailSubscriptionUserListFilterModule.decorators = [
|
|
4902
4988
|
{ type: i0.NgModule, args: [{
|
|
4903
|
-
declarations: [exports.ɵ
|
|
4989
|
+
declarations: [exports.ɵbi],
|
|
4904
4990
|
imports: [
|
|
4905
4991
|
common.CommonModule,
|
|
4906
4992
|
MaterialModule,
|
|
@@ -4909,7 +4995,7 @@
|
|
|
4909
4995
|
SearchableSelectorModule,
|
|
4910
4996
|
EmailSubscriptionUserListFilterRoutingModule
|
|
4911
4997
|
],
|
|
4912
|
-
exports: [exports.ɵ
|
|
4998
|
+
exports: [exports.ɵbi]
|
|
4913
4999
|
},] }
|
|
4914
5000
|
];
|
|
4915
5001
|
|
|
@@ -4920,7 +5006,7 @@
|
|
|
4920
5006
|
}());
|
|
4921
5007
|
EmailSubscriptionUserListModule.decorators = [
|
|
4922
5008
|
{ type: i0.NgModule, args: [{
|
|
4923
|
-
declarations: [exports.ɵ
|
|
5009
|
+
declarations: [exports.ɵbg],
|
|
4924
5010
|
imports: [
|
|
4925
5011
|
common.CommonModule,
|
|
4926
5012
|
ngxInfiniteScroll.InfiniteScrollModule,
|
|
@@ -4931,7 +5017,7 @@
|
|
|
4931
5017
|
EmailSubscriptionUserFormModule,
|
|
4932
5018
|
EmailSubscriptionUserListFilterModule
|
|
4933
5019
|
],
|
|
4934
|
-
exports: [exports.ɵ
|
|
5020
|
+
exports: [exports.ɵbg]
|
|
4935
5021
|
},] }
|
|
4936
5022
|
];
|
|
4937
5023
|
|
|
@@ -4987,7 +5073,7 @@
|
|
|
4987
5073
|
required: "Frequency is required"
|
|
4988
5074
|
},
|
|
4989
5075
|
};
|
|
4990
|
-
exports.ɵ
|
|
5076
|
+
exports.ɵbj = /** @class */ (function () {
|
|
4991
5077
|
function EmailSubscriptionTypeFormComponent(fb, formValidatorService, alertService, dialogRef, data, http) {
|
|
4992
5078
|
this.fb = fb;
|
|
4993
5079
|
this.formValidatorService = formValidatorService;
|
|
@@ -5051,14 +5137,14 @@
|
|
|
5051
5137
|
};
|
|
5052
5138
|
return EmailSubscriptionTypeFormComponent;
|
|
5053
5139
|
}());
|
|
5054
|
-
exports.ɵ
|
|
5140
|
+
exports.ɵbj.decorators = [
|
|
5055
5141
|
{ type: i0.Component, args: [{
|
|
5056
5142
|
selector: 'app-email-subscription-type-form',
|
|
5057
5143
|
template: "<form [formGroup]=\"emailSubscriptionTypeFormGroup\" (ngSubmit)=\"submit()\" class=\"mat-typography\">\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Email Subscription Type</div>\n </div>\n\n <div mat-dialog-content fxLayout=\"column\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <input matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"isFieldValid('title')\">{{getErrorMessage('title')}}</mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <input matInput formControlName=\"code\" placeholder=\"Code\" autocomplete=\"off\" required />\n <mat-hint align=\"end\">Unique Value</mat-hint>\n <mat-error *ngIf=\"isFieldValid('code')\">{{getErrorMessage('code')}}</mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <mat-label>Frequency</mat-label>\n <app-searchable-selector formControlName=\"frequency_id\" apiUrl=\"api/email-subscription-frequencies\"\n [(selectedValue)]=\"selectedFrequency\" [enableSearch]=\"false\" required>\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('frequency_id')\">{{getErrorMessage('frequency_id')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <textarea matInput formControlName=\"description\" placeholder=\"Description\"\n autocomplete=\"off\"></textarea>\n </mat-form-field>\n\n <div class=\"my-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">Cancel</button>\n <button mat-raised-button type=\"submit\" color=\"primary\" [disabled]=\"isSubmitLoading\">\n <app-loader class=\"inline-loader\" [isLoading]=\"isSubmitLoading\"></app-loader>\n Save\n </button>\n </div>\n </div>\n </div>\n\n\n </div>\n</form>",
|
|
5058
5144
|
styles: [""]
|
|
5059
5145
|
},] }
|
|
5060
5146
|
];
|
|
5061
|
-
exports.ɵ
|
|
5147
|
+
exports.ɵbj.ctorParameters = function () { return [
|
|
5062
5148
|
{ type: forms.FormBuilder },
|
|
5063
5149
|
{ type: FormValidatorService },
|
|
5064
5150
|
{ type: AlertService },
|
|
@@ -5066,9 +5152,9 @@
|
|
|
5066
5152
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] },
|
|
5067
5153
|
{ type: HttpService }
|
|
5068
5154
|
]; };
|
|
5069
|
-
exports.ɵ
|
|
5155
|
+
exports.ɵbj = __decorate([
|
|
5070
5156
|
untilDestroy.UntilDestroy()
|
|
5071
|
-
], exports.ɵ
|
|
5157
|
+
], exports.ɵbj);
|
|
5072
5158
|
|
|
5073
5159
|
var EmailSubscriptionTypeFormModule = /** @class */ (function () {
|
|
5074
5160
|
function EmailSubscriptionTypeFormModule() {
|
|
@@ -5077,7 +5163,7 @@
|
|
|
5077
5163
|
}());
|
|
5078
5164
|
EmailSubscriptionTypeFormModule.decorators = [
|
|
5079
5165
|
{ type: i0.NgModule, args: [{
|
|
5080
|
-
declarations: [exports.ɵ
|
|
5166
|
+
declarations: [exports.ɵbj],
|
|
5081
5167
|
imports: [
|
|
5082
5168
|
common.CommonModule,
|
|
5083
5169
|
MaterialModule,
|
|
@@ -5087,12 +5173,12 @@
|
|
|
5087
5173
|
EmailSubscriptionTypeFormRoutingModule,
|
|
5088
5174
|
LoaderModule
|
|
5089
5175
|
],
|
|
5090
|
-
exports: [exports.ɵ
|
|
5091
|
-
entryComponents: [exports.ɵ
|
|
5176
|
+
exports: [exports.ɵbj],
|
|
5177
|
+
entryComponents: [exports.ɵbj]
|
|
5092
5178
|
},] }
|
|
5093
5179
|
];
|
|
5094
5180
|
|
|
5095
|
-
exports.ɵ
|
|
5181
|
+
exports.ɵbk = /** @class */ (function () {
|
|
5096
5182
|
function EmailSubscriptionTypeListComponent(dialog, http) {
|
|
5097
5183
|
this.dialog = dialog;
|
|
5098
5184
|
this.http = http;
|
|
@@ -5156,7 +5242,7 @@
|
|
|
5156
5242
|
};
|
|
5157
5243
|
EmailSubscriptionTypeListComponent.prototype.addEmailSubscriptionType = function () {
|
|
5158
5244
|
var _this = this;
|
|
5159
|
-
var dialogRef = this.dialog.open(exports.ɵ
|
|
5245
|
+
var dialogRef = this.dialog.open(exports.ɵbj, {
|
|
5160
5246
|
width: '400px',
|
|
5161
5247
|
autoFocus: false,
|
|
5162
5248
|
data: {} // Any data passed here will be injected into the model
|
|
@@ -5170,7 +5256,7 @@
|
|
|
5170
5256
|
EmailSubscriptionTypeListComponent.prototype.editEmailSubscriptionType = function (event, emailSubscriptionType) {
|
|
5171
5257
|
var _this = this;
|
|
5172
5258
|
event.stopPropagation();
|
|
5173
|
-
var dialogRef = this.dialog.open(exports.ɵ
|
|
5259
|
+
var dialogRef = this.dialog.open(exports.ɵbj, {
|
|
5174
5260
|
width: '400px',
|
|
5175
5261
|
autoFocus: false,
|
|
5176
5262
|
data: {
|
|
@@ -5227,23 +5313,23 @@
|
|
|
5227
5313
|
};
|
|
5228
5314
|
return EmailSubscriptionTypeListComponent;
|
|
5229
5315
|
}());
|
|
5230
|
-
exports.ɵ
|
|
5316
|
+
exports.ɵbk.decorators = [
|
|
5231
5317
|
{ type: i0.Component, args: [{
|
|
5232
5318
|
selector: 'app-email-subscription-type-list',
|
|
5233
5319
|
template: "<div class=\"mat-typography m-4\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"start center\">\n <mat-form-field>\n <input matInput [formControl]=\"search\" placeholder=\"Email Type\" autocomplete=\"off\" />\n <button mat-button matSuffix mat-icon-button>\n <mat-icon>search</mat-icon>\n </button>\n <button mat-button *ngIf=\"search.value\" matSuffix mat-icon-button (click)=\"search.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <div class=\"ml-2\">\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"addEmailSubscriptionType()\">+ Email\n Type</button>\n </div>\n <span fxFlex></span>\n <mat-form-field appearance=\"outline\" class=\"no-padding\">\n <mat-label>Columns</mat-label>\n <mat-select [formControl]=\"displayColumns\" multiple (selectionChange)=\"columnsChange()\">\n <mat-option *ngFor=\"let column of availableDisplayColumns\" [value]=\"column.value\">{{column.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <section>\n <div class=\"scroll-container\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\n <table mat-table [dataSource]=\"emailSubscriptionTypeList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"email-subscription-type-table\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let emailSubscriptionType; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Title </th>\n <td mat-cell *matCellDef=\"let emailSubscriptionType;\"> {{ emailSubscriptionType?.title }} </td>\n </ng-container>\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Code </th>\n <td mat-cell *matCellDef=\"let emailSubscriptionType;\"> {{ emailSubscriptionType?.code }}\n </td>\n </ng-container>\n <ng-container matColumnDef=\"frequency.title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Frequency </th>\n <td mat-cell *matCellDef=\"let emailSubscriptionType;\"> {{ emailSubscriptionType?.frequency?.title }}\n </td>\n </ng-container>\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let emailSubscriptionType;\"> {{ emailSubscriptionType?.description }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let emailSubscriptionType\">\n <button type=\"button\" mat-icon-button\n (click)=\"deleteEmailSubscriptionType($event,emailSubscriptionType)\">\n <mat-icon>delete</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button\n (click)=\"editEmailSubscriptionType($event,emailSubscriptionType)\">\n <mat-icon>edit</mat-icon>\n </button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n </section>\n</div>",
|
|
5234
5320
|
styles: [".scroll-container{max-height:800px;overflow-y:auto}"]
|
|
5235
5321
|
},] }
|
|
5236
5322
|
];
|
|
5237
|
-
exports.ɵ
|
|
5323
|
+
exports.ɵbk.ctorParameters = function () { return [
|
|
5238
5324
|
{ type: dialog.MatDialog },
|
|
5239
5325
|
{ type: HttpService }
|
|
5240
5326
|
]; };
|
|
5241
|
-
exports.ɵ
|
|
5327
|
+
exports.ɵbk.propDecorators = {
|
|
5242
5328
|
sort: [{ type: i0.ViewChild, args: [sort.MatSort, { static: true },] }]
|
|
5243
5329
|
};
|
|
5244
|
-
exports.ɵ
|
|
5330
|
+
exports.ɵbk = __decorate([
|
|
5245
5331
|
untilDestroy.UntilDestroy()
|
|
5246
|
-
], exports.ɵ
|
|
5332
|
+
], exports.ɵbk);
|
|
5247
5333
|
|
|
5248
5334
|
var estlr = {
|
|
5249
5335
|
title: 'Email Subscription Type',
|
|
@@ -5255,7 +5341,7 @@
|
|
|
5255
5341
|
var routes$8 = [
|
|
5256
5342
|
{
|
|
5257
5343
|
path: '',
|
|
5258
|
-
component: exports.ɵ
|
|
5344
|
+
component: exports.ɵbk,
|
|
5259
5345
|
canActivate: [AuthenticationGuard],
|
|
5260
5346
|
data: estlr
|
|
5261
5347
|
},
|
|
@@ -5279,7 +5365,7 @@
|
|
|
5279
5365
|
}());
|
|
5280
5366
|
EmailSubscriptionTypeListModule.decorators = [
|
|
5281
5367
|
{ type: i0.NgModule, args: [{
|
|
5282
|
-
declarations: [exports.ɵ
|
|
5368
|
+
declarations: [exports.ɵbk],
|
|
5283
5369
|
imports: [
|
|
5284
5370
|
common.CommonModule,
|
|
5285
5371
|
MaterialModule,
|
|
@@ -5289,11 +5375,11 @@
|
|
|
5289
5375
|
EmailSubscriptionTypeFormModule,
|
|
5290
5376
|
EmailSubscriptionTypeListRoutingModule
|
|
5291
5377
|
],
|
|
5292
|
-
exports: [exports.ɵ
|
|
5378
|
+
exports: [exports.ɵbk]
|
|
5293
5379
|
},] }
|
|
5294
5380
|
];
|
|
5295
5381
|
|
|
5296
|
-
exports.ɵ
|
|
5382
|
+
exports.ɵbl = /** @class */ (function () {
|
|
5297
5383
|
function EmailSubscriptionForUserComponent(http) {
|
|
5298
5384
|
this.http = http;
|
|
5299
5385
|
this.subscriptions = [];
|
|
@@ -5348,19 +5434,19 @@
|
|
|
5348
5434
|
};
|
|
5349
5435
|
return EmailSubscriptionForUserComponent;
|
|
5350
5436
|
}());
|
|
5351
|
-
exports.ɵ
|
|
5437
|
+
exports.ɵbl.decorators = [
|
|
5352
5438
|
{ type: i0.Component, args: [{
|
|
5353
5439
|
selector: 'app-email-subscription-for-user',
|
|
5354
5440
|
template: "<div fxLayout=\"column\" class=\"container my-4\">\n\n <div class=\"scroll-container\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\n <mat-list>\n <div mat-subheader>Available Subscriptions</div>\n <mat-list-item *ngFor=\"let sub of subscriptions\">\n <mat-icon mat-list-icon>email</mat-icon>\n <div mat-line>{{sub?.title}} </div>\n <div mat-line class=\"text-secondary\">{{sub?.frequency?.title}}</div>\n <div mat-line> {{sub?.description}} </div>\n <div fxLayout fxLayoutAlign=\"end\">\n <button type=\"button\" *ngIf=\"!sub?.current_user_subscription\" mat-raised-button color=\"primary\"\n (click)=\"subscribe(sub)\">Subscribe</button>\n <button type=\"button\" *ngIf=\"sub?.current_user_subscription\" mat-stroked-button color=\"primary\"\n (click)=\"unsubscribe(sub)\">Unsubscribe</button>\n </div>\n <mat-divider></mat-divider>\n </mat-list-item>\n </mat-list>\n </div>\n\n</div>",
|
|
5355
5441
|
styles: [".scroll-container{max-height:800px;overflow-y:auto}"]
|
|
5356
5442
|
},] }
|
|
5357
5443
|
];
|
|
5358
|
-
exports.ɵ
|
|
5444
|
+
exports.ɵbl.ctorParameters = function () { return [
|
|
5359
5445
|
{ type: HttpService }
|
|
5360
5446
|
]; };
|
|
5361
|
-
exports.ɵ
|
|
5447
|
+
exports.ɵbl = __decorate([
|
|
5362
5448
|
untilDestroy.UntilDestroy()
|
|
5363
|
-
], exports.ɵ
|
|
5449
|
+
], exports.ɵbl);
|
|
5364
5450
|
|
|
5365
5451
|
var esfur = {
|
|
5366
5452
|
permissions: {
|
|
@@ -5370,7 +5456,7 @@
|
|
|
5370
5456
|
var routes$9 = [
|
|
5371
5457
|
{
|
|
5372
5458
|
path: '',
|
|
5373
|
-
component: exports.ɵ
|
|
5459
|
+
component: exports.ɵbl,
|
|
5374
5460
|
canActivate: [AuthenticationGuard],
|
|
5375
5461
|
data: esfur
|
|
5376
5462
|
},
|
|
@@ -5394,7 +5480,7 @@
|
|
|
5394
5480
|
}());
|
|
5395
5481
|
EmailSubscriptionForUserModule.decorators = [
|
|
5396
5482
|
{ type: i0.NgModule, args: [{
|
|
5397
|
-
declarations: [exports.ɵ
|
|
5483
|
+
declarations: [exports.ɵbl],
|
|
5398
5484
|
imports: [
|
|
5399
5485
|
common.CommonModule,
|
|
5400
5486
|
ngxInfiniteScroll.InfiniteScrollModule,
|
|
@@ -5402,7 +5488,7 @@
|
|
|
5402
5488
|
flexLayout.FlexLayoutModule,
|
|
5403
5489
|
EmailSubscriptionForUserRoutingModule
|
|
5404
5490
|
],
|
|
5405
|
-
exports: [exports.ɵ
|
|
5491
|
+
exports: [exports.ɵbl]
|
|
5406
5492
|
},] }
|
|
5407
5493
|
];
|
|
5408
5494
|
|
|
@@ -5594,7 +5680,7 @@
|
|
|
5594
5680
|
},] }
|
|
5595
5681
|
];
|
|
5596
5682
|
|
|
5597
|
-
exports.ɵ
|
|
5683
|
+
exports.ɵbm = /** @class */ (function () {
|
|
5598
5684
|
function TechlifyUpdatesListComponent(dialog, alertService, techlifyUpdateService, fb) {
|
|
5599
5685
|
this.dialog = dialog;
|
|
5600
5686
|
this.alertService = alertService;
|
|
@@ -5754,26 +5840,26 @@
|
|
|
5754
5840
|
};
|
|
5755
5841
|
return TechlifyUpdatesListComponent;
|
|
5756
5842
|
}());
|
|
5757
|
-
exports.ɵ
|
|
5843
|
+
exports.ɵbm.decorators = [
|
|
5758
5844
|
{ type: i0.Component, args: [{
|
|
5759
5845
|
selector: 'app-techlify-updates-list',
|
|
5760
5846
|
template: "<section class=\"p-4\" fxLayout=\"column\">\n <h3 class=\"primary-color text-center\">\n App Updates\n <button mat-raised-button (click)=\"modifyTechlifyUpdate()\" class=\"primary-bg text-white\">\n <mat-icon>\n add\n </mat-icon>\n Create\n </button>\n </h3>\n <form [formGroup]=\"filterFormGroup\" fxLayout=\"row wrap\" fxLayoutGap=\"0.5rem\" fxFlex=\"100%\" style=\"font-size: 12px;\">\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Title\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filterFormGroup.get('search').value\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"version\" placeholder=\"Version\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filterFormGroup.get('version').value\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('version')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n\n <table mat-table [dataSource]=\"techlifyUpdates\" class=\"mat-elevation-z8 w-100\" matSort multiTemplateDataRows\n (matSortChange)=\"sortColumn($event)\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element;let i=dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Course Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.title}} </td>\n </ng-container>\n\n <!-- Version Column -->\n <ng-container matColumnDef=\"version\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Version </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.version}} </td>\n </ng-container>\n\n <!-- Released On Column -->\n <ng-container matColumnDef=\"released_on\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Released On </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.released_on | date:'mediumDate'}} </td>\n </ng-container>\n\n <!-- Learn More Link Column -->\n <ng-container matColumnDef=\"learn_more_link\">\n <th mat-header-cell *matHeaderCellDef> Learn more link </th>\n <td mat-cell *matCellDef=\"let element\">\n <a [href]=\"element?.learn_more_link\" target=\"_blank\">\n {{element?.learn_more_link}}\n </a>\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element?.description\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef> Creator </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.creator?.name}}\n <div fxLayout class=\"small\">\n {{element?.created_at | date : 'mediumDate'}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"modifyTechlifyUpdate(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"deleteTechlifyUpdate(element)\">\n <mat-icon>delete</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n</section>\n",
|
|
5761
5847
|
styles: [""]
|
|
5762
5848
|
},] }
|
|
5763
5849
|
];
|
|
5764
|
-
exports.ɵ
|
|
5850
|
+
exports.ɵbm.ctorParameters = function () { return [
|
|
5765
5851
|
{ type: dialog.MatDialog },
|
|
5766
5852
|
{ type: AlertService },
|
|
5767
5853
|
{ type: TechlifyUpdateService },
|
|
5768
5854
|
{ type: forms.FormBuilder }
|
|
5769
5855
|
]; };
|
|
5770
|
-
exports.ɵ
|
|
5856
|
+
exports.ɵbm = __decorate([
|
|
5771
5857
|
untilDestroy.UntilDestroy()
|
|
5772
|
-
], exports.ɵ
|
|
5858
|
+
], exports.ɵbm);
|
|
5773
5859
|
|
|
5774
5860
|
var routes$a = [
|
|
5775
5861
|
{ path: '', redirectTo: 'all', pathMatch: 'full' },
|
|
5776
|
-
{ path: 'all', component: exports.ɵ
|
|
5862
|
+
{ path: 'all', component: exports.ɵbm },
|
|
5777
5863
|
//fallback
|
|
5778
5864
|
{
|
|
5779
5865
|
path: '**',
|
|
@@ -5800,7 +5886,7 @@
|
|
|
5800
5886
|
}());
|
|
5801
5887
|
TechlifyUpdateModule.decorators = [
|
|
5802
5888
|
{ type: i0.NgModule, args: [{
|
|
5803
|
-
declarations: [exports.ɵ
|
|
5889
|
+
declarations: [exports.ɵbm],
|
|
5804
5890
|
imports: [
|
|
5805
5891
|
common.CommonModule,
|
|
5806
5892
|
forms.ReactiveFormsModule,
|
|
@@ -5847,7 +5933,7 @@
|
|
|
5847
5933
|
{ type: i1$2.Router }
|
|
5848
5934
|
]; };
|
|
5849
5935
|
|
|
5850
|
-
exports.ɵ
|
|
5936
|
+
exports.ɵbs = /** @class */ (function () {
|
|
5851
5937
|
function TechlifyUpdateHistoryComponent(dialog, techlifyUpdateService, fb, alertService) {
|
|
5852
5938
|
this.dialog = dialog;
|
|
5853
5939
|
this.techlifyUpdateService = techlifyUpdateService;
|
|
@@ -5984,26 +6070,26 @@
|
|
|
5984
6070
|
};
|
|
5985
6071
|
return TechlifyUpdateHistoryComponent;
|
|
5986
6072
|
}());
|
|
5987
|
-
exports.ɵ
|
|
6073
|
+
exports.ɵbs.decorators = [
|
|
5988
6074
|
{ type: i0.Component, args: [{
|
|
5989
6075
|
selector: 'app-techlify-update-history',
|
|
5990
6076
|
template: "<section class=\"p-4\" fxLayout=\"column\">\n <h3 class=\"primary-color text-center\">\n App Updates\n </h3>\n <form [formGroup]=\"filterFormGroup\" fxLayout=\"row wrap\" fxLayoutGap=\"0.5rem\" fxFlex=\"100%\" style=\"font-size: 12px;\">\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Title\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filterFormGroup.get('search').value\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field fxFlex=\"0 1 calc(100% - 0.5rem)\" fxFlex.gt-md=\"0 1 calc(15% - 0.5rem)\" appearance=\"outline\"\n fxFlex.gt-sm=\"0 1 calc(20% - 0.5rem)\">\n <input type=\"text\" matInput formControlName=\"version\" placeholder=\"Version\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filterFormGroup.get('version').value\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('version')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n\n <table mat-table [dataSource]=\"techlifyUpdates\" class=\"mat-elevation-z8 w-100\" matSort multiTemplateDataRows\n (matSortChange)=\"sortColumn($event)\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element;let i=dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Course Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.title}} </td>\n </ng-container>\n\n <!-- Version Column -->\n <ng-container matColumnDef=\"version\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Version </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.version}} </td>\n </ng-container>\n\n <!-- Released On Column -->\n <ng-container matColumnDef=\"released_on\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Released On </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.released_on | date:'mediumDate'}} </td>\n </ng-container>\n\n <!-- Learn More Link Column -->\n <ng-container matColumnDef=\"learn_more_link\">\n <th mat-header-cell *matHeaderCellDef> Learn more link </th>\n <td mat-cell *matCellDef=\"let element\">\n <a [href]=\"element?.learn_more_link\" target=\"_blank\">\n {{element?.learn_more_link}}\n </a>\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef> Description </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element?.description\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef> Creator </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.creator?.name}}\n <div fxLayout class=\"small\">\n {{element?.created_at | date : 'mediumDate'}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"openUpdateView(element)\">\n <mat-icon>remove_red_eye</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n</section>\n",
|
|
5991
6077
|
styles: [""]
|
|
5992
6078
|
},] }
|
|
5993
6079
|
];
|
|
5994
|
-
exports.ɵ
|
|
6080
|
+
exports.ɵbs.ctorParameters = function () { return [
|
|
5995
6081
|
{ type: dialog.MatDialog },
|
|
5996
6082
|
{ type: TechlifyUpdateService },
|
|
5997
6083
|
{ type: forms.FormBuilder },
|
|
5998
6084
|
{ type: AlertService }
|
|
5999
6085
|
]; };
|
|
6000
|
-
exports.ɵ
|
|
6086
|
+
exports.ɵbs = __decorate([
|
|
6001
6087
|
untilDestroy.UntilDestroy()
|
|
6002
|
-
], exports.ɵ
|
|
6088
|
+
], exports.ɵbs);
|
|
6003
6089
|
|
|
6004
6090
|
var routes$b = [
|
|
6005
6091
|
{ path: '', redirectTo: 'update-history', pathMatch: 'full' },
|
|
6006
|
-
{ path: 'update-history', component: exports.ɵ
|
|
6092
|
+
{ path: 'update-history', component: exports.ɵbs },
|
|
6007
6093
|
//fallback
|
|
6008
6094
|
{
|
|
6009
6095
|
path: '**',
|
|
@@ -6040,7 +6126,7 @@
|
|
|
6040
6126
|
ReadMoreModule,
|
|
6041
6127
|
TechlifyUpdateHistoryRoutingModule
|
|
6042
6128
|
],
|
|
6043
|
-
declarations: [exports.ɵ
|
|
6129
|
+
declarations: [exports.ɵbs]
|
|
6044
6130
|
},] }
|
|
6045
6131
|
];
|
|
6046
6132
|
|
|
@@ -8226,24 +8312,24 @@
|
|
|
8226
8312
|
exports.DateValidator = DateValidator;
|
|
8227
8313
|
exports.DocumentViewerComponent = DocumentViewerComponent;
|
|
8228
8314
|
exports.DocumentViewerModule = DocumentViewerModule;
|
|
8229
|
-
exports.EmailSubscriptionForUserComponent = exports.ɵ
|
|
8315
|
+
exports.EmailSubscriptionForUserComponent = exports.ɵbl;
|
|
8230
8316
|
exports.EmailSubscriptionForUserModule = EmailSubscriptionForUserModule;
|
|
8231
8317
|
exports.EmailSubscriptionForUserRoutingModule = EmailSubscriptionForUserRoutingModule;
|
|
8232
8318
|
exports.EmailSubscriptionModule = EmailSubscriptionModule;
|
|
8233
8319
|
exports.EmailSubscriptionRoutingModule = EmailSubscriptionRoutingModule;
|
|
8234
|
-
exports.EmailSubscriptionTypeFormComponent = exports.ɵ
|
|
8320
|
+
exports.EmailSubscriptionTypeFormComponent = exports.ɵbj;
|
|
8235
8321
|
exports.EmailSubscriptionTypeFormModule = EmailSubscriptionTypeFormModule;
|
|
8236
8322
|
exports.EmailSubscriptionTypeFormRoutingModule = EmailSubscriptionTypeFormRoutingModule;
|
|
8237
|
-
exports.EmailSubscriptionTypeListComponent = exports.ɵ
|
|
8323
|
+
exports.EmailSubscriptionTypeListComponent = exports.ɵbk;
|
|
8238
8324
|
exports.EmailSubscriptionTypeListModule = EmailSubscriptionTypeListModule;
|
|
8239
8325
|
exports.EmailSubscriptionTypeListRoutingModule = EmailSubscriptionTypeListRoutingModule;
|
|
8240
8326
|
exports.EmailSubscriptionTypeModule = EmailSubscriptionTypeModule;
|
|
8241
8327
|
exports.EmailSubscriptionTypeRoutingModule = EmailSubscriptionTypeRoutingModule;
|
|
8242
|
-
exports.EmailSubscriptionUserFormComponent = exports.ɵ
|
|
8328
|
+
exports.EmailSubscriptionUserFormComponent = exports.ɵbf;
|
|
8243
8329
|
exports.EmailSubscriptionUserFormModule = EmailSubscriptionUserFormModule;
|
|
8244
8330
|
exports.EmailSubscriptionUserFormRoutingModule = EmailSubscriptionUserFormRoutingModule;
|
|
8245
|
-
exports.EmailSubscriptionUserListComponent = exports.ɵ
|
|
8246
|
-
exports.EmailSubscriptionUserListFilterComponent = exports.ɵ
|
|
8331
|
+
exports.EmailSubscriptionUserListComponent = exports.ɵbg;
|
|
8332
|
+
exports.EmailSubscriptionUserListFilterComponent = exports.ɵbi;
|
|
8247
8333
|
exports.EmailSubscriptionUserListFilterModule = EmailSubscriptionUserListFilterModule;
|
|
8248
8334
|
exports.EmailSubscriptionUserListFilterRoutingModule = EmailSubscriptionUserListFilterRoutingModule;
|
|
8249
8335
|
exports.EmailSubscriptionUserListModule = EmailSubscriptionUserListModule;
|
|
@@ -8282,7 +8368,7 @@
|
|
|
8282
8368
|
exports.ReadMoreComponent = ReadMoreComponent;
|
|
8283
8369
|
exports.ReadMoreModule = ReadMoreModule;
|
|
8284
8370
|
exports.RouteReusableStrategy = RouteReusableStrategy;
|
|
8285
|
-
exports.SearchableSelectorComponent = exports.ɵ
|
|
8371
|
+
exports.SearchableSelectorComponent = exports.ɵs;
|
|
8286
8372
|
exports.SearchableSelectorModule = SearchableSelectorModule;
|
|
8287
8373
|
exports.SnackModule = SnackModule;
|
|
8288
8374
|
exports.StorageService = StorageService;
|
|
@@ -8300,7 +8386,7 @@
|
|
|
8300
8386
|
exports.TechlifyUpdateHistoryModule = TechlifyUpdateHistoryModule;
|
|
8301
8387
|
exports.TechlifyUpdateModule = TechlifyUpdateModule;
|
|
8302
8388
|
exports.Timeline = Timeline;
|
|
8303
|
-
exports.TimelineFilterComponent = exports.ɵ
|
|
8389
|
+
exports.TimelineFilterComponent = exports.ɵbc;
|
|
8304
8390
|
exports.TimelineFilterModule = TimelineFilterModule;
|
|
8305
8391
|
exports.TokenInterceptor = TokenInterceptor;
|
|
8306
8392
|
exports.UpdateNotifierComponent = UpdateNotifierComponent;
|
|
@@ -8313,20 +8399,20 @@
|
|
|
8313
8399
|
exports.esulr = esulr;
|
|
8314
8400
|
exports.ɵa = SnackModule;
|
|
8315
8401
|
exports.ɵb = SuccessSnackComponent;
|
|
8316
|
-
exports.ɵba =
|
|
8317
|
-
exports.ɵ
|
|
8318
|
-
exports.ɵbd =
|
|
8319
|
-
exports.ɵ
|
|
8320
|
-
exports.ɵ
|
|
8321
|
-
exports.ɵbn =
|
|
8322
|
-
exports.ɵbo =
|
|
8323
|
-
exports.ɵbp =
|
|
8324
|
-
exports.ɵbq =
|
|
8325
|
-
exports.ɵ
|
|
8326
|
-
exports.ɵbt =
|
|
8327
|
-
exports.ɵbu =
|
|
8328
|
-
exports.ɵbv =
|
|
8329
|
-
exports.ɵbw =
|
|
8402
|
+
exports.ɵba = NumItemsSelector;
|
|
8403
|
+
exports.ɵbb = NumberSelector;
|
|
8404
|
+
exports.ɵbd = TimelineFilterRoutingModule;
|
|
8405
|
+
exports.ɵbe = LoaderComponent;
|
|
8406
|
+
exports.ɵbh = AuthenticationGuard;
|
|
8407
|
+
exports.ɵbn = TechlifyUpdateService;
|
|
8408
|
+
exports.ɵbo = TechlifyUpdateRoutingModule;
|
|
8409
|
+
exports.ɵbp = TechlifyUpdateFormModule;
|
|
8410
|
+
exports.ɵbq = TechlifyUpdateFormComponent;
|
|
8411
|
+
exports.ɵbr = TechlifyUpdateHistoryRoutingModule;
|
|
8412
|
+
exports.ɵbt = UpdateNotifierSnackComponent;
|
|
8413
|
+
exports.ɵbu = UpdateViewModule;
|
|
8414
|
+
exports.ɵbv = UpdateViewComponent;
|
|
8415
|
+
exports.ɵbw = DataManager;
|
|
8330
8416
|
exports.ɵbx = FieldMappingComponent;
|
|
8331
8417
|
exports.ɵby = FailedItemsListComponent;
|
|
8332
8418
|
exports.ɵbz = ImportHistoryListComponent;
|
|
@@ -8346,16 +8432,16 @@
|
|
|
8346
8432
|
exports.ɵl = FormValidatorService;
|
|
8347
8433
|
exports.ɵm = EntityFileService;
|
|
8348
8434
|
exports.ɵn = AlertService;
|
|
8349
|
-
exports.ɵp =
|
|
8350
|
-
exports.ɵ
|
|
8351
|
-
exports.ɵ
|
|
8352
|
-
exports.ɵt =
|
|
8353
|
-
exports.ɵu =
|
|
8354
|
-
exports.ɵv =
|
|
8355
|
-
exports.ɵw =
|
|
8356
|
-
exports.ɵx =
|
|
8357
|
-
exports.ɵy =
|
|
8358
|
-
exports.ɵz =
|
|
8435
|
+
exports.ɵp = ErrorHandlerService;
|
|
8436
|
+
exports.ɵq = TechlifyConfig;
|
|
8437
|
+
exports.ɵr = FileDropperComponent;
|
|
8438
|
+
exports.ɵt = MatSelectInfiniteScrollDirective;
|
|
8439
|
+
exports.ɵu = NoteListComponent;
|
|
8440
|
+
exports.ɵv = NoteService;
|
|
8441
|
+
exports.ɵw = NoteFormComponent;
|
|
8442
|
+
exports.ɵx = CommentFormComponent;
|
|
8443
|
+
exports.ɵy = CredentialsService;
|
|
8444
|
+
exports.ɵz = ConfigService;
|
|
8359
8445
|
|
|
8360
8446
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
8361
8447
|
|