ngx-techlify-core 11.4.8-beta.2 → 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 +246 -155
- 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-form/entity-file-form.component.js +2 -2
- package/esm2015/lib/entity-files/entity-file.service.js +4 -1
- package/esm2015/lib/entity-files/entity-files-view-all.component.js +78 -4
- package/esm2015/lib/entity-files/entity-files-view-all.module.js +4 -2
- package/esm2015/lib/material.module.js +4 -2
- package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.js +2 -2
- package/esm2015/ngx-techlify-core.js +35 -35
- package/fesm2015/ngx-techlify-core.js +110 -32
- 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" });
|
|
@@ -1760,7 +1763,7 @@
|
|
|
1760
1763
|
EntityFileFormComponent.decorators = [
|
|
1761
1764
|
{ type: i0.Component, args: [{
|
|
1762
1765
|
selector: 'entity-file-form',
|
|
1763
|
-
template: "<form [formGroup]=\"entityFileGroup\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div mat-dialog-title class=\"text-center\">\n <div>Entity File</div>\n </div>\n <div mat-dialog-content fxLayout=\"column\" fxLayoutAlign.=\"start\">\n <ng-container *ngIf=\"!hideTitleAndDetails\">\n <mat-form-field>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\">\n </mat-form-field>\n <mat-form-field>\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\n </mat-form-field>\n </ng-container>\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 [modelId]=\"entityFileGroup.get('id').value\"></app-techlify-tagger-tag-form-field>\n </mat-form-field>\n </ng-container>\n <ng-template #fileUpload>\n <section fxFlex=\"100%\">\n <div>Entity File*</div>\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\n </app-file-dropper>\n <div class=\"text-danger\" *ngIf=\"isFieldValid('url')\">\n {{getErrorMessage(\"url\")}}\n </div>\n </section>\n </ng-template>\n <div fxFlex=\"100%\" class=\"mt-2\" *ngIf=\"entityFileGroup.get('url').value;else fileUpload;\">\n <app-document-viewer [file]=\"entityFileGroup.get('file').value\" [fileUrl]=\"entityFileGroup.get('url').value\"\n [config]=\"this.viewerConfig\" (remove)=\"removeFile()\" [disableEdit]=\"updateMode\">\n </app-document-viewer>\n </div>\n <div class=\"mt-4 mb-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button type=\"submit\" color=\"primary\">Save</button>\n </div>\n </div>\n </div>\n</form>\n",
|
|
1766
|
+
template: "<form [formGroup]=\"entityFileGroup\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div mat-dialog-title class=\"text-center\">\n <div>Entity File</div>\n </div>\n <div mat-dialog-content fxLayout=\"column\" fxLayoutAlign.=\"start\">\n <ng-container *ngIf=\"!hideTitleAndDetails\">\n <mat-form-field>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\">\n </mat-form-field>\n <mat-form-field>\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\n </mat-form-field>\n </ng-container>\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 [modelId]=\"entityFileGroup.get('id').value\" placeholder=\"Enter new tag\"></app-techlify-tagger-tag-form-field>\n </mat-form-field>\n </ng-container>\n <ng-template #fileUpload>\n <section fxFlex=\"100%\">\n <div>Entity File*</div>\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\n </app-file-dropper>\n <div class=\"text-danger\" *ngIf=\"isFieldValid('url')\">\n {{getErrorMessage(\"url\")}}\n </div>\n </section>\n </ng-template>\n <div fxFlex=\"100%\" class=\"mt-2\" *ngIf=\"entityFileGroup.get('url').value;else fileUpload;\">\n <app-document-viewer [file]=\"entityFileGroup.get('file').value\" [fileUrl]=\"entityFileGroup.get('url').value\"\n [config]=\"this.viewerConfig\" (remove)=\"removeFile()\" [disableEdit]=\"updateMode\">\n </app-document-viewer>\n </div>\n <div class=\"mt-4 mb-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button type=\"submit\" color=\"primary\">Save</button>\n </div>\n </div>\n </div>\n</form>\n",
|
|
1764
1767
|
styles: [""]
|
|
1765
1768
|
},] }
|
|
1766
1769
|
];
|
|
@@ -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
|
}
|
|
@@ -1879,6 +1897,7 @@
|
|
|
1879
1897
|
};
|
|
1880
1898
|
EntityFilesViewAllComponent.prototype.addEntityFile = function () {
|
|
1881
1899
|
var _this = this;
|
|
1900
|
+
this.isWorking = true;
|
|
1882
1901
|
var dialogRef = this.dialog.open(EntityFileFormComponent, {
|
|
1883
1902
|
width: "700px",
|
|
1884
1903
|
data: {
|
|
@@ -1892,10 +1911,12 @@
|
|
|
1892
1911
|
dialogRef.afterClosed().subscribe(function (result) { return __awaiter(_this, void 0, void 0, function () {
|
|
1893
1912
|
var files;
|
|
1894
1913
|
return __generator(this, function (_a) {
|
|
1914
|
+
this.isWorking = false;
|
|
1895
1915
|
if (result) {
|
|
1896
1916
|
files = __spread(this.entityFiles);
|
|
1897
1917
|
files.push(result);
|
|
1898
1918
|
this.entityFiles = files;
|
|
1919
|
+
this.dataSource = new table.MatTableDataSource(this.entityFiles);
|
|
1899
1920
|
}
|
|
1900
1921
|
return [2 /*return*/];
|
|
1901
1922
|
});
|
|
@@ -1903,6 +1924,7 @@
|
|
|
1903
1924
|
};
|
|
1904
1925
|
EntityFilesViewAllComponent.prototype.editEntityFile = function (file) {
|
|
1905
1926
|
var _this = this;
|
|
1927
|
+
this.isWorking = true;
|
|
1906
1928
|
var dialogRef = this.dialog.open(EntityFileFormComponent, {
|
|
1907
1929
|
width: "700px",
|
|
1908
1930
|
autoFocus: false,
|
|
@@ -1913,6 +1935,7 @@
|
|
|
1913
1935
|
} // Any data passed here will be injected into the model
|
|
1914
1936
|
});
|
|
1915
1937
|
dialogRef.afterClosed().subscribe(function (result) {
|
|
1938
|
+
_this.isWorking = false;
|
|
1916
1939
|
if (result) {
|
|
1917
1940
|
_this.reload();
|
|
1918
1941
|
}
|
|
@@ -1953,6 +1976,8 @@
|
|
|
1953
1976
|
};
|
|
1954
1977
|
EntityFilesViewAllComponent.prototype.reload = function () {
|
|
1955
1978
|
this.entityFiles = [];
|
|
1979
|
+
this.documentIds = [];
|
|
1980
|
+
this.isReload = false;
|
|
1956
1981
|
this.page = 1;
|
|
1957
1982
|
if (!this.isWorking) {
|
|
1958
1983
|
this.fetchEntityFilesDetails();
|
|
@@ -2003,12 +2028,74 @@
|
|
|
2003
2028
|
});
|
|
2004
2029
|
});
|
|
2005
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
|
+
};
|
|
2006
2093
|
return EntityFilesViewAllComponent;
|
|
2007
2094
|
}());
|
|
2008
2095
|
exports.ɵo.decorators = [
|
|
2009
2096
|
{ type: i0.Component, args: [{
|
|
2010
2097
|
selector: 'app-entity-files-view-all',
|
|
2011
|
-
template: "<div class=\"mat-typography\" *ngIf=\"!displayMode\">\n <div fxLayout=\"row\" fxLayoutGap=\"1rem\">\n <mat-card fxFlex=\"70%\">\n <mat-card-title 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 <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\">\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-title>\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\"> {{element.details}} </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=\"text-muted\">\n <ng-container *ngFor=\"let taggerModel of element.tags\">\n {{taggerModel?.tag?.title}},\n </ng-container>\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",
|
|
2012
2099
|
styles: [""]
|
|
2013
2100
|
},] }
|
|
2014
2101
|
];
|
|
@@ -2017,7 +2104,8 @@
|
|
|
2017
2104
|
{ type: common.Location },
|
|
2018
2105
|
{ type: AlertService },
|
|
2019
2106
|
{ type: dialog.MatDialog },
|
|
2020
|
-
{ type: forms.FormBuilder }
|
|
2107
|
+
{ type: forms.FormBuilder },
|
|
2108
|
+
{ type: ErrorHandlerService }
|
|
2021
2109
|
]; };
|
|
2022
2110
|
exports.ɵo.propDecorators = {
|
|
2023
2111
|
entityId: [{ type: i0.Input }],
|
|
@@ -2027,6 +2115,7 @@
|
|
|
2027
2115
|
hideTitleAndDetails: [{ type: i0.Input }],
|
|
2028
2116
|
displayMode: [{ type: i0.Input }],
|
|
2029
2117
|
allowMultipleFiles: [{ type: i0.Input }],
|
|
2118
|
+
allowBulkUpdate: [{ type: i0.Input }],
|
|
2030
2119
|
useTechlifyTags: [{ type: i0.Input }],
|
|
2031
2120
|
title: [{ type: i0.Input }]
|
|
2032
2121
|
};
|
|
@@ -2550,7 +2639,7 @@
|
|
|
2550
2639
|
};
|
|
2551
2640
|
|
|
2552
2641
|
var SearchableSelectorComponent_1;
|
|
2553
|
-
exports.ɵ
|
|
2642
|
+
exports.ɵs = SearchableSelectorComponent_1 = /** @class */ (function () {
|
|
2554
2643
|
function SearchableSelectorComponent(formBuilder, _focusMonitor, http, _elementRef, dialog, ngControl) {
|
|
2555
2644
|
var _this = this;
|
|
2556
2645
|
this._focusMonitor = _focusMonitor;
|
|
@@ -2828,8 +2917,8 @@
|
|
|
2828
2917
|
};
|
|
2829
2918
|
return SearchableSelectorComponent;
|
|
2830
2919
|
}());
|
|
2831
|
-
exports.ɵ
|
|
2832
|
-
exports.ɵ
|
|
2920
|
+
exports.ɵs.nextId = 0;
|
|
2921
|
+
exports.ɵs.decorators = [
|
|
2833
2922
|
{ type: i0.Component, args: [{
|
|
2834
2923
|
selector: 'app-searchable-selector',
|
|
2835
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>",
|
|
@@ -2842,7 +2931,7 @@
|
|
|
2842
2931
|
styles: [".searchable-selctor-container{display:flex}.relative-icon{position:relative;top:-4px}"]
|
|
2843
2932
|
},] }
|
|
2844
2933
|
];
|
|
2845
|
-
exports.ɵ
|
|
2934
|
+
exports.ɵs.ctorParameters = function () { return [
|
|
2846
2935
|
{ type: forms.FormBuilder },
|
|
2847
2936
|
{ type: a11y.FocusMonitor },
|
|
2848
2937
|
{ type: HttpService },
|
|
@@ -2850,7 +2939,7 @@
|
|
|
2850
2939
|
{ type: dialog.MatDialog },
|
|
2851
2940
|
{ type: forms.NgControl, decorators: [{ type: i0.Optional }, { type: i0.Self }] }
|
|
2852
2941
|
]; };
|
|
2853
|
-
exports.ɵ
|
|
2942
|
+
exports.ɵs.propDecorators = {
|
|
2854
2943
|
valueField: [{ type: i0.Input }],
|
|
2855
2944
|
titleField: [{ type: i0.Input }],
|
|
2856
2945
|
apiUrl: [{ type: i0.Input }],
|
|
@@ -2877,9 +2966,9 @@
|
|
|
2877
2966
|
disabled: [{ type: i0.Input }],
|
|
2878
2967
|
value: [{ type: i0.Input }]
|
|
2879
2968
|
};
|
|
2880
|
-
exports.ɵ
|
|
2969
|
+
exports.ɵs = SearchableSelectorComponent_1 = __decorate([
|
|
2881
2970
|
untilDestroy.UntilDestroy()
|
|
2882
|
-
], exports.ɵ
|
|
2971
|
+
], exports.ɵs);
|
|
2883
2972
|
|
|
2884
2973
|
var MatSelectInfiniteScrollDirective = /** @class */ (function () {
|
|
2885
2974
|
function MatSelectInfiniteScrollDirective(matSelect, ngZone) {
|
|
@@ -3201,7 +3290,7 @@
|
|
|
3201
3290
|
}
|
|
3202
3291
|
|
|
3203
3292
|
var TimelineFilterComponent_1;
|
|
3204
|
-
exports.ɵ
|
|
3293
|
+
exports.ɵbc = TimelineFilterComponent_1 = /** @class */ (function () {
|
|
3205
3294
|
function TimelineFilterComponent(formBuilder, ngControl, datePipe) {
|
|
3206
3295
|
this.ngControl = ngControl;
|
|
3207
3296
|
this.datePipe = datePipe;
|
|
@@ -3377,8 +3466,8 @@
|
|
|
3377
3466
|
};
|
|
3378
3467
|
return TimelineFilterComponent;
|
|
3379
3468
|
}());
|
|
3380
|
-
exports.ɵ
|
|
3381
|
-
exports.ɵ
|
|
3469
|
+
exports.ɵbc.nextId = 0;
|
|
3470
|
+
exports.ɵbc.decorators = [
|
|
3382
3471
|
{ type: i0.Component, args: [{
|
|
3383
3472
|
selector: 'app-timeline-filter',
|
|
3384
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",
|
|
@@ -3391,12 +3480,12 @@
|
|
|
3391
3480
|
styles: [""]
|
|
3392
3481
|
},] }
|
|
3393
3482
|
];
|
|
3394
|
-
exports.ɵ
|
|
3483
|
+
exports.ɵbc.ctorParameters = function () { return [
|
|
3395
3484
|
{ type: forms.FormBuilder },
|
|
3396
3485
|
{ type: forms.NgControl, decorators: [{ type: i0.Optional }, { type: i0.Self }] },
|
|
3397
3486
|
{ type: common.DatePipe }
|
|
3398
3487
|
]; };
|
|
3399
|
-
exports.ɵ
|
|
3488
|
+
exports.ɵbc.propDecorators = {
|
|
3400
3489
|
picker: [{ type: i0.ViewChild, args: ['picker',] }],
|
|
3401
3490
|
timelineValue: [{ type: i0.Input }],
|
|
3402
3491
|
timelines: [{ type: i0.Input }],
|
|
@@ -3415,9 +3504,9 @@
|
|
|
3415
3504
|
disabled: [{ type: i0.Input }],
|
|
3416
3505
|
value: [{ type: i0.Input }]
|
|
3417
3506
|
};
|
|
3418
|
-
exports.ɵ
|
|
3507
|
+
exports.ɵbc = TimelineFilterComponent_1 = __decorate([
|
|
3419
3508
|
untilDestroy.UntilDestroy()
|
|
3420
|
-
], exports.ɵ
|
|
3509
|
+
], exports.ɵbc);
|
|
3421
3510
|
|
|
3422
3511
|
var LoaderComponent = /** @class */ (function () {
|
|
3423
3512
|
function LoaderComponent() {
|
|
@@ -3779,7 +3868,8 @@
|
|
|
3779
3868
|
datepicker.MatDatepickerModule,
|
|
3780
3869
|
list.MatListModule,
|
|
3781
3870
|
tooltip.MatTooltipModule,
|
|
3782
|
-
buttonToggle.MatButtonToggleModule
|
|
3871
|
+
buttonToggle.MatButtonToggleModule,
|
|
3872
|
+
sidenav.MatSidenavModule
|
|
3783
3873
|
]
|
|
3784
3874
|
},] }
|
|
3785
3875
|
];
|
|
@@ -3912,7 +4002,7 @@
|
|
|
3912
4002
|
this.selectable = true;
|
|
3913
4003
|
this.removable = true;
|
|
3914
4004
|
this.separatorKeysCodes = [keycodes.ENTER, keycodes.COMMA];
|
|
3915
|
-
this.placeholder = '
|
|
4005
|
+
this.placeholder = 'Enter new Tag..';
|
|
3916
4006
|
this.apiUrl = 'api/techlify-tagger-tags';
|
|
3917
4007
|
this.createApiUrl = 'api/techlify-tagger-tags';
|
|
3918
4008
|
this.isCreateable = true;
|
|
@@ -4270,44 +4360,16 @@
|
|
|
4270
4360
|
MaterialModule
|
|
4271
4361
|
],
|
|
4272
4362
|
declarations: [
|
|
4273
|
-
exports.ɵ
|
|
4363
|
+
exports.ɵs,
|
|
4274
4364
|
MatSelectInfiniteScrollDirective
|
|
4275
4365
|
],
|
|
4276
4366
|
exports: [
|
|
4277
|
-
exports.ɵ
|
|
4367
|
+
exports.ɵs,
|
|
4278
4368
|
MatSelectInfiniteScrollDirective
|
|
4279
4369
|
]
|
|
4280
4370
|
},] }
|
|
4281
4371
|
];
|
|
4282
4372
|
|
|
4283
|
-
var EntityFilesViewAllModule = /** @class */ (function () {
|
|
4284
|
-
function EntityFilesViewAllModule() {
|
|
4285
|
-
}
|
|
4286
|
-
return EntityFilesViewAllModule;
|
|
4287
|
-
}());
|
|
4288
|
-
EntityFilesViewAllModule.decorators = [
|
|
4289
|
-
{ type: i0.NgModule, args: [{
|
|
4290
|
-
declarations: [EntityFileFormComponent, exports.ɵo],
|
|
4291
|
-
imports: [
|
|
4292
|
-
common.CommonModule,
|
|
4293
|
-
forms.FormsModule,
|
|
4294
|
-
forms.ReactiveFormsModule,
|
|
4295
|
-
flexLayout.FlexLayoutModule,
|
|
4296
|
-
FileDropperModule,
|
|
4297
|
-
DocumentViewerModule,
|
|
4298
|
-
ngxInfiniteScroll.InfiniteScrollModule,
|
|
4299
|
-
ActionPopupModule,
|
|
4300
|
-
MaterialModule,
|
|
4301
|
-
TechlifyTaggerTagFormFieldModule,
|
|
4302
|
-
SearchableSelectorModule
|
|
4303
|
-
],
|
|
4304
|
-
exports: [
|
|
4305
|
-
exports.ɵo
|
|
4306
|
-
],
|
|
4307
|
-
entryComponents: [EntityFileFormComponent]
|
|
4308
|
-
},] }
|
|
4309
|
-
];
|
|
4310
|
-
|
|
4311
4373
|
var ReadMoreComponent = /** @class */ (function () {
|
|
4312
4374
|
function ReadMoreComponent() {
|
|
4313
4375
|
this.maxLength = 100;
|
|
@@ -4370,6 +4432,35 @@
|
|
|
4370
4432
|
},] }
|
|
4371
4433
|
];
|
|
4372
4434
|
|
|
4435
|
+
var EntityFilesViewAllModule = /** @class */ (function () {
|
|
4436
|
+
function EntityFilesViewAllModule() {
|
|
4437
|
+
}
|
|
4438
|
+
return EntityFilesViewAllModule;
|
|
4439
|
+
}());
|
|
4440
|
+
EntityFilesViewAllModule.decorators = [
|
|
4441
|
+
{ type: i0.NgModule, args: [{
|
|
4442
|
+
declarations: [EntityFileFormComponent, exports.ɵo],
|
|
4443
|
+
imports: [
|
|
4444
|
+
common.CommonModule,
|
|
4445
|
+
forms.FormsModule,
|
|
4446
|
+
forms.ReactiveFormsModule,
|
|
4447
|
+
flexLayout.FlexLayoutModule,
|
|
4448
|
+
FileDropperModule,
|
|
4449
|
+
DocumentViewerModule,
|
|
4450
|
+
ngxInfiniteScroll.InfiniteScrollModule,
|
|
4451
|
+
ActionPopupModule,
|
|
4452
|
+
MaterialModule,
|
|
4453
|
+
TechlifyTaggerTagFormFieldModule,
|
|
4454
|
+
SearchableSelectorModule,
|
|
4455
|
+
ReadMoreModule
|
|
4456
|
+
],
|
|
4457
|
+
exports: [
|
|
4458
|
+
exports.ɵo
|
|
4459
|
+
],
|
|
4460
|
+
entryComponents: [EntityFileFormComponent]
|
|
4461
|
+
},] }
|
|
4462
|
+
];
|
|
4463
|
+
|
|
4373
4464
|
var NoteModule = /** @class */ (function () {
|
|
4374
4465
|
function NoteModule() {
|
|
4375
4466
|
}
|
|
@@ -4436,7 +4527,7 @@
|
|
|
4436
4527
|
}());
|
|
4437
4528
|
TimelineFilterModule.decorators = [
|
|
4438
4529
|
{ type: i0.NgModule, args: [{
|
|
4439
|
-
declarations: [exports.ɵ
|
|
4530
|
+
declarations: [exports.ɵbc],
|
|
4440
4531
|
imports: [
|
|
4441
4532
|
common.CommonModule,
|
|
4442
4533
|
TimelineFilterRoutingModule,
|
|
@@ -4444,7 +4535,7 @@
|
|
|
4444
4535
|
MaterialModule,
|
|
4445
4536
|
forms.ReactiveFormsModule
|
|
4446
4537
|
],
|
|
4447
|
-
exports: [exports.ɵ
|
|
4538
|
+
exports: [exports.ɵbc]
|
|
4448
4539
|
},] }
|
|
4449
4540
|
];
|
|
4450
4541
|
|
|
@@ -4546,7 +4637,7 @@
|
|
|
4546
4637
|
required: "Email Type is required"
|
|
4547
4638
|
},
|
|
4548
4639
|
};
|
|
4549
|
-
exports.ɵ
|
|
4640
|
+
exports.ɵbf = /** @class */ (function () {
|
|
4550
4641
|
function EmailSubscriptionUserFormComponent(fb, formValidatorService, alertService, dialogRef, data, http) {
|
|
4551
4642
|
this.fb = fb;
|
|
4552
4643
|
this.formValidatorService = formValidatorService;
|
|
@@ -4608,14 +4699,14 @@
|
|
|
4608
4699
|
};
|
|
4609
4700
|
return EmailSubscriptionUserFormComponent;
|
|
4610
4701
|
}());
|
|
4611
|
-
exports.ɵ
|
|
4702
|
+
exports.ɵbf.decorators = [
|
|
4612
4703
|
{ type: i0.Component, args: [{
|
|
4613
4704
|
selector: 'app-email-subscription-user-form',
|
|
4614
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>",
|
|
4615
4706
|
styles: [""]
|
|
4616
4707
|
},] }
|
|
4617
4708
|
];
|
|
4618
|
-
exports.ɵ
|
|
4709
|
+
exports.ɵbf.ctorParameters = function () { return [
|
|
4619
4710
|
{ type: forms.FormBuilder },
|
|
4620
4711
|
{ type: FormValidatorService },
|
|
4621
4712
|
{ type: AlertService },
|
|
@@ -4623,9 +4714,9 @@
|
|
|
4623
4714
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] },
|
|
4624
4715
|
{ type: HttpService }
|
|
4625
4716
|
]; };
|
|
4626
|
-
exports.ɵ
|
|
4717
|
+
exports.ɵbf = __decorate([
|
|
4627
4718
|
untilDestroy.UntilDestroy()
|
|
4628
|
-
], exports.ɵ
|
|
4719
|
+
], exports.ɵbf);
|
|
4629
4720
|
|
|
4630
4721
|
var EmailSubscriptionUserFormModule = /** @class */ (function () {
|
|
4631
4722
|
function EmailSubscriptionUserFormModule() {
|
|
@@ -4634,7 +4725,7 @@
|
|
|
4634
4725
|
}());
|
|
4635
4726
|
EmailSubscriptionUserFormModule.decorators = [
|
|
4636
4727
|
{ type: i0.NgModule, args: [{
|
|
4637
|
-
declarations: [exports.ɵ
|
|
4728
|
+
declarations: [exports.ɵbf],
|
|
4638
4729
|
imports: [
|
|
4639
4730
|
common.CommonModule,
|
|
4640
4731
|
MaterialModule,
|
|
@@ -4644,12 +4735,12 @@
|
|
|
4644
4735
|
EmailSubscriptionUserFormRoutingModule,
|
|
4645
4736
|
LoaderModule
|
|
4646
4737
|
],
|
|
4647
|
-
entryComponents: [exports.ɵ
|
|
4738
|
+
entryComponents: [exports.ɵbf]
|
|
4648
4739
|
},] }
|
|
4649
4740
|
];
|
|
4650
4741
|
|
|
4651
4742
|
var log$4 = new Logger('EmailSubscriptionUser list');
|
|
4652
|
-
exports.ɵ
|
|
4743
|
+
exports.ɵbg = /** @class */ (function () {
|
|
4653
4744
|
function EmailSubscriptionUserListComponent(dialog, http, router) {
|
|
4654
4745
|
this.dialog = dialog;
|
|
4655
4746
|
this.http = http;
|
|
@@ -4710,7 +4801,7 @@
|
|
|
4710
4801
|
};
|
|
4711
4802
|
EmailSubscriptionUserListComponent.prototype.addEmailSubscriptionUser = function () {
|
|
4712
4803
|
var _this = this;
|
|
4713
|
-
var dialogRef = this.dialog.open(exports.ɵ
|
|
4804
|
+
var dialogRef = this.dialog.open(exports.ɵbf, {
|
|
4714
4805
|
width: '800px',
|
|
4715
4806
|
autoFocus: false,
|
|
4716
4807
|
data: {} // Any data passed here will be injected into the model
|
|
@@ -4725,7 +4816,7 @@
|
|
|
4725
4816
|
EmailSubscriptionUserListComponent.prototype.editEmailSubscriptionUser = function (event, esUser) {
|
|
4726
4817
|
var _this = this;
|
|
4727
4818
|
event.stopPropagation();
|
|
4728
|
-
var dialogRef = this.dialog.open(exports.ɵ
|
|
4819
|
+
var dialogRef = this.dialog.open(exports.ɵbf, {
|
|
4729
4820
|
width: '800px',
|
|
4730
4821
|
autoFocus: false,
|
|
4731
4822
|
data: {
|
|
@@ -4783,24 +4874,24 @@
|
|
|
4783
4874
|
};
|
|
4784
4875
|
return EmailSubscriptionUserListComponent;
|
|
4785
4876
|
}());
|
|
4786
|
-
exports.ɵ
|
|
4877
|
+
exports.ɵbg.decorators = [
|
|
4787
4878
|
{ type: i0.Component, args: [{
|
|
4788
4879
|
selector: 'app-email-subscription-user-list',
|
|
4789
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>",
|
|
4790
4881
|
styles: [".scroll-container{max-height:800px;overflow-y:auto}"]
|
|
4791
4882
|
},] }
|
|
4792
4883
|
];
|
|
4793
|
-
exports.ɵ
|
|
4884
|
+
exports.ɵbg.ctorParameters = function () { return [
|
|
4794
4885
|
{ type: dialog.MatDialog },
|
|
4795
4886
|
{ type: HttpService },
|
|
4796
4887
|
{ type: i1$2.Router }
|
|
4797
4888
|
]; };
|
|
4798
|
-
exports.ɵ
|
|
4889
|
+
exports.ɵbg.propDecorators = {
|
|
4799
4890
|
sort: [{ type: i0.ViewChild, args: [sort.MatSort, { static: true },] }]
|
|
4800
4891
|
};
|
|
4801
|
-
exports.ɵ
|
|
4892
|
+
exports.ɵbg = __decorate([
|
|
4802
4893
|
untilDestroy.UntilDestroy()
|
|
4803
|
-
], exports.ɵ
|
|
4894
|
+
], exports.ɵbg);
|
|
4804
4895
|
|
|
4805
4896
|
var esulr = {
|
|
4806
4897
|
title: 'Email Subscription Users',
|
|
@@ -4812,7 +4903,7 @@
|
|
|
4812
4903
|
var routes$4 = [
|
|
4813
4904
|
{
|
|
4814
4905
|
path: '',
|
|
4815
|
-
component: exports.ɵ
|
|
4906
|
+
component: exports.ɵbg,
|
|
4816
4907
|
canActivate: [AuthenticationGuard],
|
|
4817
4908
|
data: esulr
|
|
4818
4909
|
},
|
|
@@ -4842,7 +4933,7 @@
|
|
|
4842
4933
|
},] }
|
|
4843
4934
|
];
|
|
4844
4935
|
|
|
4845
|
-
exports.ɵ
|
|
4936
|
+
exports.ɵbi = /** @class */ (function () {
|
|
4846
4937
|
function EmailSubscriptionUserListFilterComponent(fb) {
|
|
4847
4938
|
this.fb = fb;
|
|
4848
4939
|
this.valueChange = new i0.EventEmitter();
|
|
@@ -4871,22 +4962,22 @@
|
|
|
4871
4962
|
};
|
|
4872
4963
|
return EmailSubscriptionUserListFilterComponent;
|
|
4873
4964
|
}());
|
|
4874
|
-
exports.ɵ
|
|
4965
|
+
exports.ɵbi.decorators = [
|
|
4875
4966
|
{ type: i0.Component, args: [{
|
|
4876
4967
|
selector: 'app-email-subscription-user-list-filter',
|
|
4877
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>",
|
|
4878
4969
|
styles: [""]
|
|
4879
4970
|
},] }
|
|
4880
4971
|
];
|
|
4881
|
-
exports.ɵ
|
|
4972
|
+
exports.ɵbi.ctorParameters = function () { return [
|
|
4882
4973
|
{ type: forms.FormBuilder }
|
|
4883
4974
|
]; };
|
|
4884
|
-
exports.ɵ
|
|
4975
|
+
exports.ɵbi.propDecorators = {
|
|
4885
4976
|
valueChange: [{ type: i0.Output }]
|
|
4886
4977
|
};
|
|
4887
|
-
exports.ɵ
|
|
4978
|
+
exports.ɵbi = __decorate([
|
|
4888
4979
|
untilDestroy.UntilDestroy()
|
|
4889
|
-
], exports.ɵ
|
|
4980
|
+
], exports.ɵbi);
|
|
4890
4981
|
|
|
4891
4982
|
var EmailSubscriptionUserListFilterModule = /** @class */ (function () {
|
|
4892
4983
|
function EmailSubscriptionUserListFilterModule() {
|
|
@@ -4895,7 +4986,7 @@
|
|
|
4895
4986
|
}());
|
|
4896
4987
|
EmailSubscriptionUserListFilterModule.decorators = [
|
|
4897
4988
|
{ type: i0.NgModule, args: [{
|
|
4898
|
-
declarations: [exports.ɵ
|
|
4989
|
+
declarations: [exports.ɵbi],
|
|
4899
4990
|
imports: [
|
|
4900
4991
|
common.CommonModule,
|
|
4901
4992
|
MaterialModule,
|
|
@@ -4904,7 +4995,7 @@
|
|
|
4904
4995
|
SearchableSelectorModule,
|
|
4905
4996
|
EmailSubscriptionUserListFilterRoutingModule
|
|
4906
4997
|
],
|
|
4907
|
-
exports: [exports.ɵ
|
|
4998
|
+
exports: [exports.ɵbi]
|
|
4908
4999
|
},] }
|
|
4909
5000
|
];
|
|
4910
5001
|
|
|
@@ -4915,7 +5006,7 @@
|
|
|
4915
5006
|
}());
|
|
4916
5007
|
EmailSubscriptionUserListModule.decorators = [
|
|
4917
5008
|
{ type: i0.NgModule, args: [{
|
|
4918
|
-
declarations: [exports.ɵ
|
|
5009
|
+
declarations: [exports.ɵbg],
|
|
4919
5010
|
imports: [
|
|
4920
5011
|
common.CommonModule,
|
|
4921
5012
|
ngxInfiniteScroll.InfiniteScrollModule,
|
|
@@ -4926,7 +5017,7 @@
|
|
|
4926
5017
|
EmailSubscriptionUserFormModule,
|
|
4927
5018
|
EmailSubscriptionUserListFilterModule
|
|
4928
5019
|
],
|
|
4929
|
-
exports: [exports.ɵ
|
|
5020
|
+
exports: [exports.ɵbg]
|
|
4930
5021
|
},] }
|
|
4931
5022
|
];
|
|
4932
5023
|
|
|
@@ -4982,7 +5073,7 @@
|
|
|
4982
5073
|
required: "Frequency is required"
|
|
4983
5074
|
},
|
|
4984
5075
|
};
|
|
4985
|
-
exports.ɵ
|
|
5076
|
+
exports.ɵbj = /** @class */ (function () {
|
|
4986
5077
|
function EmailSubscriptionTypeFormComponent(fb, formValidatorService, alertService, dialogRef, data, http) {
|
|
4987
5078
|
this.fb = fb;
|
|
4988
5079
|
this.formValidatorService = formValidatorService;
|
|
@@ -5046,14 +5137,14 @@
|
|
|
5046
5137
|
};
|
|
5047
5138
|
return EmailSubscriptionTypeFormComponent;
|
|
5048
5139
|
}());
|
|
5049
|
-
exports.ɵ
|
|
5140
|
+
exports.ɵbj.decorators = [
|
|
5050
5141
|
{ type: i0.Component, args: [{
|
|
5051
5142
|
selector: 'app-email-subscription-type-form',
|
|
5052
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>",
|
|
5053
5144
|
styles: [""]
|
|
5054
5145
|
},] }
|
|
5055
5146
|
];
|
|
5056
|
-
exports.ɵ
|
|
5147
|
+
exports.ɵbj.ctorParameters = function () { return [
|
|
5057
5148
|
{ type: forms.FormBuilder },
|
|
5058
5149
|
{ type: FormValidatorService },
|
|
5059
5150
|
{ type: AlertService },
|
|
@@ -5061,9 +5152,9 @@
|
|
|
5061
5152
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] },
|
|
5062
5153
|
{ type: HttpService }
|
|
5063
5154
|
]; };
|
|
5064
|
-
exports.ɵ
|
|
5155
|
+
exports.ɵbj = __decorate([
|
|
5065
5156
|
untilDestroy.UntilDestroy()
|
|
5066
|
-
], exports.ɵ
|
|
5157
|
+
], exports.ɵbj);
|
|
5067
5158
|
|
|
5068
5159
|
var EmailSubscriptionTypeFormModule = /** @class */ (function () {
|
|
5069
5160
|
function EmailSubscriptionTypeFormModule() {
|
|
@@ -5072,7 +5163,7 @@
|
|
|
5072
5163
|
}());
|
|
5073
5164
|
EmailSubscriptionTypeFormModule.decorators = [
|
|
5074
5165
|
{ type: i0.NgModule, args: [{
|
|
5075
|
-
declarations: [exports.ɵ
|
|
5166
|
+
declarations: [exports.ɵbj],
|
|
5076
5167
|
imports: [
|
|
5077
5168
|
common.CommonModule,
|
|
5078
5169
|
MaterialModule,
|
|
@@ -5082,12 +5173,12 @@
|
|
|
5082
5173
|
EmailSubscriptionTypeFormRoutingModule,
|
|
5083
5174
|
LoaderModule
|
|
5084
5175
|
],
|
|
5085
|
-
exports: [exports.ɵ
|
|
5086
|
-
entryComponents: [exports.ɵ
|
|
5176
|
+
exports: [exports.ɵbj],
|
|
5177
|
+
entryComponents: [exports.ɵbj]
|
|
5087
5178
|
},] }
|
|
5088
5179
|
];
|
|
5089
5180
|
|
|
5090
|
-
exports.ɵ
|
|
5181
|
+
exports.ɵbk = /** @class */ (function () {
|
|
5091
5182
|
function EmailSubscriptionTypeListComponent(dialog, http) {
|
|
5092
5183
|
this.dialog = dialog;
|
|
5093
5184
|
this.http = http;
|
|
@@ -5151,7 +5242,7 @@
|
|
|
5151
5242
|
};
|
|
5152
5243
|
EmailSubscriptionTypeListComponent.prototype.addEmailSubscriptionType = function () {
|
|
5153
5244
|
var _this = this;
|
|
5154
|
-
var dialogRef = this.dialog.open(exports.ɵ
|
|
5245
|
+
var dialogRef = this.dialog.open(exports.ɵbj, {
|
|
5155
5246
|
width: '400px',
|
|
5156
5247
|
autoFocus: false,
|
|
5157
5248
|
data: {} // Any data passed here will be injected into the model
|
|
@@ -5165,7 +5256,7 @@
|
|
|
5165
5256
|
EmailSubscriptionTypeListComponent.prototype.editEmailSubscriptionType = function (event, emailSubscriptionType) {
|
|
5166
5257
|
var _this = this;
|
|
5167
5258
|
event.stopPropagation();
|
|
5168
|
-
var dialogRef = this.dialog.open(exports.ɵ
|
|
5259
|
+
var dialogRef = this.dialog.open(exports.ɵbj, {
|
|
5169
5260
|
width: '400px',
|
|
5170
5261
|
autoFocus: false,
|
|
5171
5262
|
data: {
|
|
@@ -5222,23 +5313,23 @@
|
|
|
5222
5313
|
};
|
|
5223
5314
|
return EmailSubscriptionTypeListComponent;
|
|
5224
5315
|
}());
|
|
5225
|
-
exports.ɵ
|
|
5316
|
+
exports.ɵbk.decorators = [
|
|
5226
5317
|
{ type: i0.Component, args: [{
|
|
5227
5318
|
selector: 'app-email-subscription-type-list',
|
|
5228
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>",
|
|
5229
5320
|
styles: [".scroll-container{max-height:800px;overflow-y:auto}"]
|
|
5230
5321
|
},] }
|
|
5231
5322
|
];
|
|
5232
|
-
exports.ɵ
|
|
5323
|
+
exports.ɵbk.ctorParameters = function () { return [
|
|
5233
5324
|
{ type: dialog.MatDialog },
|
|
5234
5325
|
{ type: HttpService }
|
|
5235
5326
|
]; };
|
|
5236
|
-
exports.ɵ
|
|
5327
|
+
exports.ɵbk.propDecorators = {
|
|
5237
5328
|
sort: [{ type: i0.ViewChild, args: [sort.MatSort, { static: true },] }]
|
|
5238
5329
|
};
|
|
5239
|
-
exports.ɵ
|
|
5330
|
+
exports.ɵbk = __decorate([
|
|
5240
5331
|
untilDestroy.UntilDestroy()
|
|
5241
|
-
], exports.ɵ
|
|
5332
|
+
], exports.ɵbk);
|
|
5242
5333
|
|
|
5243
5334
|
var estlr = {
|
|
5244
5335
|
title: 'Email Subscription Type',
|
|
@@ -5250,7 +5341,7 @@
|
|
|
5250
5341
|
var routes$8 = [
|
|
5251
5342
|
{
|
|
5252
5343
|
path: '',
|
|
5253
|
-
component: exports.ɵ
|
|
5344
|
+
component: exports.ɵbk,
|
|
5254
5345
|
canActivate: [AuthenticationGuard],
|
|
5255
5346
|
data: estlr
|
|
5256
5347
|
},
|
|
@@ -5274,7 +5365,7 @@
|
|
|
5274
5365
|
}());
|
|
5275
5366
|
EmailSubscriptionTypeListModule.decorators = [
|
|
5276
5367
|
{ type: i0.NgModule, args: [{
|
|
5277
|
-
declarations: [exports.ɵ
|
|
5368
|
+
declarations: [exports.ɵbk],
|
|
5278
5369
|
imports: [
|
|
5279
5370
|
common.CommonModule,
|
|
5280
5371
|
MaterialModule,
|
|
@@ -5284,11 +5375,11 @@
|
|
|
5284
5375
|
EmailSubscriptionTypeFormModule,
|
|
5285
5376
|
EmailSubscriptionTypeListRoutingModule
|
|
5286
5377
|
],
|
|
5287
|
-
exports: [exports.ɵ
|
|
5378
|
+
exports: [exports.ɵbk]
|
|
5288
5379
|
},] }
|
|
5289
5380
|
];
|
|
5290
5381
|
|
|
5291
|
-
exports.ɵ
|
|
5382
|
+
exports.ɵbl = /** @class */ (function () {
|
|
5292
5383
|
function EmailSubscriptionForUserComponent(http) {
|
|
5293
5384
|
this.http = http;
|
|
5294
5385
|
this.subscriptions = [];
|
|
@@ -5343,19 +5434,19 @@
|
|
|
5343
5434
|
};
|
|
5344
5435
|
return EmailSubscriptionForUserComponent;
|
|
5345
5436
|
}());
|
|
5346
|
-
exports.ɵ
|
|
5437
|
+
exports.ɵbl.decorators = [
|
|
5347
5438
|
{ type: i0.Component, args: [{
|
|
5348
5439
|
selector: 'app-email-subscription-for-user',
|
|
5349
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>",
|
|
5350
5441
|
styles: [".scroll-container{max-height:800px;overflow-y:auto}"]
|
|
5351
5442
|
},] }
|
|
5352
5443
|
];
|
|
5353
|
-
exports.ɵ
|
|
5444
|
+
exports.ɵbl.ctorParameters = function () { return [
|
|
5354
5445
|
{ type: HttpService }
|
|
5355
5446
|
]; };
|
|
5356
|
-
exports.ɵ
|
|
5447
|
+
exports.ɵbl = __decorate([
|
|
5357
5448
|
untilDestroy.UntilDestroy()
|
|
5358
|
-
], exports.ɵ
|
|
5449
|
+
], exports.ɵbl);
|
|
5359
5450
|
|
|
5360
5451
|
var esfur = {
|
|
5361
5452
|
permissions: {
|
|
@@ -5365,7 +5456,7 @@
|
|
|
5365
5456
|
var routes$9 = [
|
|
5366
5457
|
{
|
|
5367
5458
|
path: '',
|
|
5368
|
-
component: exports.ɵ
|
|
5459
|
+
component: exports.ɵbl,
|
|
5369
5460
|
canActivate: [AuthenticationGuard],
|
|
5370
5461
|
data: esfur
|
|
5371
5462
|
},
|
|
@@ -5389,7 +5480,7 @@
|
|
|
5389
5480
|
}());
|
|
5390
5481
|
EmailSubscriptionForUserModule.decorators = [
|
|
5391
5482
|
{ type: i0.NgModule, args: [{
|
|
5392
|
-
declarations: [exports.ɵ
|
|
5483
|
+
declarations: [exports.ɵbl],
|
|
5393
5484
|
imports: [
|
|
5394
5485
|
common.CommonModule,
|
|
5395
5486
|
ngxInfiniteScroll.InfiniteScrollModule,
|
|
@@ -5397,7 +5488,7 @@
|
|
|
5397
5488
|
flexLayout.FlexLayoutModule,
|
|
5398
5489
|
EmailSubscriptionForUserRoutingModule
|
|
5399
5490
|
],
|
|
5400
|
-
exports: [exports.ɵ
|
|
5491
|
+
exports: [exports.ɵbl]
|
|
5401
5492
|
},] }
|
|
5402
5493
|
];
|
|
5403
5494
|
|
|
@@ -5589,7 +5680,7 @@
|
|
|
5589
5680
|
},] }
|
|
5590
5681
|
];
|
|
5591
5682
|
|
|
5592
|
-
exports.ɵ
|
|
5683
|
+
exports.ɵbm = /** @class */ (function () {
|
|
5593
5684
|
function TechlifyUpdatesListComponent(dialog, alertService, techlifyUpdateService, fb) {
|
|
5594
5685
|
this.dialog = dialog;
|
|
5595
5686
|
this.alertService = alertService;
|
|
@@ -5749,26 +5840,26 @@
|
|
|
5749
5840
|
};
|
|
5750
5841
|
return TechlifyUpdatesListComponent;
|
|
5751
5842
|
}());
|
|
5752
|
-
exports.ɵ
|
|
5843
|
+
exports.ɵbm.decorators = [
|
|
5753
5844
|
{ type: i0.Component, args: [{
|
|
5754
5845
|
selector: 'app-techlify-updates-list',
|
|
5755
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",
|
|
5756
5847
|
styles: [""]
|
|
5757
5848
|
},] }
|
|
5758
5849
|
];
|
|
5759
|
-
exports.ɵ
|
|
5850
|
+
exports.ɵbm.ctorParameters = function () { return [
|
|
5760
5851
|
{ type: dialog.MatDialog },
|
|
5761
5852
|
{ type: AlertService },
|
|
5762
5853
|
{ type: TechlifyUpdateService },
|
|
5763
5854
|
{ type: forms.FormBuilder }
|
|
5764
5855
|
]; };
|
|
5765
|
-
exports.ɵ
|
|
5856
|
+
exports.ɵbm = __decorate([
|
|
5766
5857
|
untilDestroy.UntilDestroy()
|
|
5767
|
-
], exports.ɵ
|
|
5858
|
+
], exports.ɵbm);
|
|
5768
5859
|
|
|
5769
5860
|
var routes$a = [
|
|
5770
5861
|
{ path: '', redirectTo: 'all', pathMatch: 'full' },
|
|
5771
|
-
{ path: 'all', component: exports.ɵ
|
|
5862
|
+
{ path: 'all', component: exports.ɵbm },
|
|
5772
5863
|
//fallback
|
|
5773
5864
|
{
|
|
5774
5865
|
path: '**',
|
|
@@ -5795,7 +5886,7 @@
|
|
|
5795
5886
|
}());
|
|
5796
5887
|
TechlifyUpdateModule.decorators = [
|
|
5797
5888
|
{ type: i0.NgModule, args: [{
|
|
5798
|
-
declarations: [exports.ɵ
|
|
5889
|
+
declarations: [exports.ɵbm],
|
|
5799
5890
|
imports: [
|
|
5800
5891
|
common.CommonModule,
|
|
5801
5892
|
forms.ReactiveFormsModule,
|
|
@@ -5842,7 +5933,7 @@
|
|
|
5842
5933
|
{ type: i1$2.Router }
|
|
5843
5934
|
]; };
|
|
5844
5935
|
|
|
5845
|
-
exports.ɵ
|
|
5936
|
+
exports.ɵbs = /** @class */ (function () {
|
|
5846
5937
|
function TechlifyUpdateHistoryComponent(dialog, techlifyUpdateService, fb, alertService) {
|
|
5847
5938
|
this.dialog = dialog;
|
|
5848
5939
|
this.techlifyUpdateService = techlifyUpdateService;
|
|
@@ -5979,26 +6070,26 @@
|
|
|
5979
6070
|
};
|
|
5980
6071
|
return TechlifyUpdateHistoryComponent;
|
|
5981
6072
|
}());
|
|
5982
|
-
exports.ɵ
|
|
6073
|
+
exports.ɵbs.decorators = [
|
|
5983
6074
|
{ type: i0.Component, args: [{
|
|
5984
6075
|
selector: 'app-techlify-update-history',
|
|
5985
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",
|
|
5986
6077
|
styles: [""]
|
|
5987
6078
|
},] }
|
|
5988
6079
|
];
|
|
5989
|
-
exports.ɵ
|
|
6080
|
+
exports.ɵbs.ctorParameters = function () { return [
|
|
5990
6081
|
{ type: dialog.MatDialog },
|
|
5991
6082
|
{ type: TechlifyUpdateService },
|
|
5992
6083
|
{ type: forms.FormBuilder },
|
|
5993
6084
|
{ type: AlertService }
|
|
5994
6085
|
]; };
|
|
5995
|
-
exports.ɵ
|
|
6086
|
+
exports.ɵbs = __decorate([
|
|
5996
6087
|
untilDestroy.UntilDestroy()
|
|
5997
|
-
], exports.ɵ
|
|
6088
|
+
], exports.ɵbs);
|
|
5998
6089
|
|
|
5999
6090
|
var routes$b = [
|
|
6000
6091
|
{ path: '', redirectTo: 'update-history', pathMatch: 'full' },
|
|
6001
|
-
{ path: 'update-history', component: exports.ɵ
|
|
6092
|
+
{ path: 'update-history', component: exports.ɵbs },
|
|
6002
6093
|
//fallback
|
|
6003
6094
|
{
|
|
6004
6095
|
path: '**',
|
|
@@ -6035,7 +6126,7 @@
|
|
|
6035
6126
|
ReadMoreModule,
|
|
6036
6127
|
TechlifyUpdateHistoryRoutingModule
|
|
6037
6128
|
],
|
|
6038
|
-
declarations: [exports.ɵ
|
|
6129
|
+
declarations: [exports.ɵbs]
|
|
6039
6130
|
},] }
|
|
6040
6131
|
];
|
|
6041
6132
|
|
|
@@ -8221,24 +8312,24 @@
|
|
|
8221
8312
|
exports.DateValidator = DateValidator;
|
|
8222
8313
|
exports.DocumentViewerComponent = DocumentViewerComponent;
|
|
8223
8314
|
exports.DocumentViewerModule = DocumentViewerModule;
|
|
8224
|
-
exports.EmailSubscriptionForUserComponent = exports.ɵ
|
|
8315
|
+
exports.EmailSubscriptionForUserComponent = exports.ɵbl;
|
|
8225
8316
|
exports.EmailSubscriptionForUserModule = EmailSubscriptionForUserModule;
|
|
8226
8317
|
exports.EmailSubscriptionForUserRoutingModule = EmailSubscriptionForUserRoutingModule;
|
|
8227
8318
|
exports.EmailSubscriptionModule = EmailSubscriptionModule;
|
|
8228
8319
|
exports.EmailSubscriptionRoutingModule = EmailSubscriptionRoutingModule;
|
|
8229
|
-
exports.EmailSubscriptionTypeFormComponent = exports.ɵ
|
|
8320
|
+
exports.EmailSubscriptionTypeFormComponent = exports.ɵbj;
|
|
8230
8321
|
exports.EmailSubscriptionTypeFormModule = EmailSubscriptionTypeFormModule;
|
|
8231
8322
|
exports.EmailSubscriptionTypeFormRoutingModule = EmailSubscriptionTypeFormRoutingModule;
|
|
8232
|
-
exports.EmailSubscriptionTypeListComponent = exports.ɵ
|
|
8323
|
+
exports.EmailSubscriptionTypeListComponent = exports.ɵbk;
|
|
8233
8324
|
exports.EmailSubscriptionTypeListModule = EmailSubscriptionTypeListModule;
|
|
8234
8325
|
exports.EmailSubscriptionTypeListRoutingModule = EmailSubscriptionTypeListRoutingModule;
|
|
8235
8326
|
exports.EmailSubscriptionTypeModule = EmailSubscriptionTypeModule;
|
|
8236
8327
|
exports.EmailSubscriptionTypeRoutingModule = EmailSubscriptionTypeRoutingModule;
|
|
8237
|
-
exports.EmailSubscriptionUserFormComponent = exports.ɵ
|
|
8328
|
+
exports.EmailSubscriptionUserFormComponent = exports.ɵbf;
|
|
8238
8329
|
exports.EmailSubscriptionUserFormModule = EmailSubscriptionUserFormModule;
|
|
8239
8330
|
exports.EmailSubscriptionUserFormRoutingModule = EmailSubscriptionUserFormRoutingModule;
|
|
8240
|
-
exports.EmailSubscriptionUserListComponent = exports.ɵ
|
|
8241
|
-
exports.EmailSubscriptionUserListFilterComponent = exports.ɵ
|
|
8331
|
+
exports.EmailSubscriptionUserListComponent = exports.ɵbg;
|
|
8332
|
+
exports.EmailSubscriptionUserListFilterComponent = exports.ɵbi;
|
|
8242
8333
|
exports.EmailSubscriptionUserListFilterModule = EmailSubscriptionUserListFilterModule;
|
|
8243
8334
|
exports.EmailSubscriptionUserListFilterRoutingModule = EmailSubscriptionUserListFilterRoutingModule;
|
|
8244
8335
|
exports.EmailSubscriptionUserListModule = EmailSubscriptionUserListModule;
|
|
@@ -8277,7 +8368,7 @@
|
|
|
8277
8368
|
exports.ReadMoreComponent = ReadMoreComponent;
|
|
8278
8369
|
exports.ReadMoreModule = ReadMoreModule;
|
|
8279
8370
|
exports.RouteReusableStrategy = RouteReusableStrategy;
|
|
8280
|
-
exports.SearchableSelectorComponent = exports.ɵ
|
|
8371
|
+
exports.SearchableSelectorComponent = exports.ɵs;
|
|
8281
8372
|
exports.SearchableSelectorModule = SearchableSelectorModule;
|
|
8282
8373
|
exports.SnackModule = SnackModule;
|
|
8283
8374
|
exports.StorageService = StorageService;
|
|
@@ -8295,7 +8386,7 @@
|
|
|
8295
8386
|
exports.TechlifyUpdateHistoryModule = TechlifyUpdateHistoryModule;
|
|
8296
8387
|
exports.TechlifyUpdateModule = TechlifyUpdateModule;
|
|
8297
8388
|
exports.Timeline = Timeline;
|
|
8298
|
-
exports.TimelineFilterComponent = exports.ɵ
|
|
8389
|
+
exports.TimelineFilterComponent = exports.ɵbc;
|
|
8299
8390
|
exports.TimelineFilterModule = TimelineFilterModule;
|
|
8300
8391
|
exports.TokenInterceptor = TokenInterceptor;
|
|
8301
8392
|
exports.UpdateNotifierComponent = UpdateNotifierComponent;
|
|
@@ -8308,20 +8399,20 @@
|
|
|
8308
8399
|
exports.esulr = esulr;
|
|
8309
8400
|
exports.ɵa = SnackModule;
|
|
8310
8401
|
exports.ɵb = SuccessSnackComponent;
|
|
8311
|
-
exports.ɵba =
|
|
8312
|
-
exports.ɵ
|
|
8313
|
-
exports.ɵbd =
|
|
8314
|
-
exports.ɵ
|
|
8315
|
-
exports.ɵ
|
|
8316
|
-
exports.ɵbn =
|
|
8317
|
-
exports.ɵbo =
|
|
8318
|
-
exports.ɵbp =
|
|
8319
|
-
exports.ɵbq =
|
|
8320
|
-
exports.ɵ
|
|
8321
|
-
exports.ɵbt =
|
|
8322
|
-
exports.ɵbu =
|
|
8323
|
-
exports.ɵbv =
|
|
8324
|
-
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;
|
|
8325
8416
|
exports.ɵbx = FieldMappingComponent;
|
|
8326
8417
|
exports.ɵby = FailedItemsListComponent;
|
|
8327
8418
|
exports.ɵbz = ImportHistoryListComponent;
|
|
@@ -8341,16 +8432,16 @@
|
|
|
8341
8432
|
exports.ɵl = FormValidatorService;
|
|
8342
8433
|
exports.ɵm = EntityFileService;
|
|
8343
8434
|
exports.ɵn = AlertService;
|
|
8344
|
-
exports.ɵp =
|
|
8345
|
-
exports.ɵ
|
|
8346
|
-
exports.ɵ
|
|
8347
|
-
exports.ɵt =
|
|
8348
|
-
exports.ɵu =
|
|
8349
|
-
exports.ɵv =
|
|
8350
|
-
exports.ɵw =
|
|
8351
|
-
exports.ɵx =
|
|
8352
|
-
exports.ɵy =
|
|
8353
|
-
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;
|
|
8354
8445
|
|
|
8355
8446
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
8356
8447
|
|