ngx-techlify-core 11.4.4 → 11.4.5-beta.3
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 +88 -32
- package/bundles/ngx-techlify-core.umd.js.map +1 -1
- package/bundles/ngx-techlify-core.umd.min.js +2 -2
- package/bundles/ngx-techlify-core.umd.min.js.map +1 -1
- package/esm2015/lib/core/error-handler.interceptor.js +7 -2
- package/esm2015/lib/core/error-handler.service.js +1 -1
- package/esm2015/lib/core/techlify-config.model.js +3 -1
- package/esm2015/lib/entity-files/entity-file-form/entity-file-form.component.js +6 -9
- package/esm2015/lib/entity-files/entity-file.service.js +6 -2
- package/esm2015/lib/entity-files/entity-files-view-all.component.js +47 -4
- package/esm2015/lib/import-csv/import-csv.component.js +3 -2
- package/esm2015/lib/import-csv/import-history-list/import-history-list.component.js +3 -2
- package/esm2015/lib/material.module.js +4 -2
- package/esm2015/lib/techlify-feature/techlify-feature.routing.js +2 -2
- package/esm2015/lib/techlify-feature/techlify-feature.service.js +2 -2
- package/esm2015/ngx-techlify-core.js +10 -11
- package/fesm2015/ngx-techlify-core.js +68 -16
- package/fesm2015/ngx-techlify-core.js.map +1 -1
- package/lib/core/techlify-config.model.d.ts +1 -0
- package/lib/entity-files/entity-file.service.d.ts +1 -1
- package/lib/entity-files/entity-files-view-all.component.d.ts +6 -0
- package/lib/import-csv/import-csv.component.d.ts +2 -1
- package/lib/import-csv/import-history-list/import-history-list.component.d.ts +2 -1
- package/lib/techlify-feature/techlify-feature.service.d.ts +1 -1
- package/ngx-techlify-core.d.ts +9 -10
- 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/flex-layout'), require('ngx-infinite-scroll'), require('ngx-doc-viewer'), require('ngx-editor'), require('xlsx'), require('@angular/platform-browser'), require('jsondiffpatch'), require('@angular/cdk/keycodes'), require('@angular/material/autocomplete'), require('@angular/material/
|
|
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/flex-layout', 'ngx-infinite-scroll', 'ngx-doc-viewer', 'ngx-editor', 'xlsx', '@angular/platform-browser', 'jsondiffpatch', '@angular/cdk/keycodes', '@angular/material/autocomplete', '@angular/material/
|
|
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.flexLayout, global['ngx-infinite-scroll'], global['ngx-doc-viewer'], global['ngx-editor'], global.xlsx, global.ng.platformBrowser, global.jsondiffpatch, global.ng.cdk.keycodes, global.ng.material.autocomplete, global.ng.material.
|
|
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, flexLayout, ngxInfiniteScroll, ngxDocViewer, ngxEditor, XLSX, platformBrowser, jsondiffpatch, keycodes, autocomplete,
|
|
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('ngx-editor'), require('xlsx'), require('@angular/platform-browser'), require('jsondiffpatch'), require('@angular/cdk/keycodes'), require('@angular/material/autocomplete'), 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', 'ngx-editor', 'xlsx', '@angular/platform-browser', 'jsondiffpatch', '@angular/cdk/keycodes', '@angular/material/autocomplete', '@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['ngx-editor'], global.xlsx, global.ng.platformBrowser, global.jsondiffpatch, global.ng.cdk.keycodes, global.ng.material.autocomplete, 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, ngxEditor, XLSX, platformBrowser, jsondiffpatch, keycodes, autocomplete, slideToggle) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespace(e) {
|
|
8
8
|
if (e && e.__esModule) return e;
|
|
@@ -747,6 +747,7 @@
|
|
|
747
747
|
this.authClientSecret = '';
|
|
748
748
|
this.authGrantType = '';
|
|
749
749
|
this.apiUrl = '';
|
|
750
|
+
this.isLogoutWhileApiGetsFailed = false;
|
|
750
751
|
this.loadFromMap(data);
|
|
751
752
|
}
|
|
752
753
|
TechlifyConfig.prototype.loadFromMap = function (data) {
|
|
@@ -757,6 +758,7 @@
|
|
|
757
758
|
this.apiUrl = data.apiUrl;
|
|
758
759
|
this.storage = data === null || data === void 0 ? void 0 : data.storage;
|
|
759
760
|
this.rawConfigs = data;
|
|
761
|
+
this.isLogoutWhileApiGetsFailed = data === null || data === void 0 ? void 0 : data.isLogoutWhileApiGetsFailed;
|
|
760
762
|
};
|
|
761
763
|
return TechlifyConfig;
|
|
762
764
|
}());
|
|
@@ -939,7 +941,7 @@
|
|
|
939
941
|
};
|
|
940
942
|
// Customize the default error handler here if needed
|
|
941
943
|
ErrorHandlerInterceptor.prototype.handleError = function (error) {
|
|
942
|
-
var _a, _b;
|
|
944
|
+
var _a, _b, _c;
|
|
943
945
|
var errorMessage = '';
|
|
944
946
|
if (error.error instanceof ErrorEvent) {
|
|
945
947
|
// client-side error
|
|
@@ -949,6 +951,11 @@
|
|
|
949
951
|
// server-side error
|
|
950
952
|
errorMessage = "Server Error: " + ((_b = this.configService) === null || _b === void 0 ? void 0 : _b.getProjectKey());
|
|
951
953
|
try {
|
|
954
|
+
if (error.status == 403 && ((_c = this.configService.getConfigsRaw()) === null || _c === void 0 ? void 0 : _c.isLogoutWhileApiGetsFailed)) {
|
|
955
|
+
sessionStorage.clear();
|
|
956
|
+
localStorage.clear();
|
|
957
|
+
location.reload();
|
|
958
|
+
}
|
|
952
959
|
this.errorHandler.handleError(error, 'Unexpected Server Error, try later or contact service team');
|
|
953
960
|
}
|
|
954
961
|
catch (e) {
|
|
@@ -1391,9 +1398,13 @@
|
|
|
1391
1398
|
EntityFileService.prototype.deleteEntityFile = function (model) {
|
|
1392
1399
|
return this.http.delete("api/entity-files/" + model.id).toPromise();
|
|
1393
1400
|
};
|
|
1394
|
-
EntityFileService.prototype.uploadEntityFile = function (file) {
|
|
1401
|
+
EntityFileService.prototype.uploadEntityFile = function (file, params) {
|
|
1395
1402
|
var formData = new FormData();
|
|
1396
1403
|
formData.append("fileData", file, file.name);
|
|
1404
|
+
if (params === null || params === void 0 ? void 0 : params.entity_id) {
|
|
1405
|
+
formData.append('entity_id', params.entity_id);
|
|
1406
|
+
formData.append('entity_type', params.entity_type);
|
|
1407
|
+
}
|
|
1397
1408
|
return this.http
|
|
1398
1409
|
.skipHeader()
|
|
1399
1410
|
.post("api/entity-files-upload", formData).toPromise();
|
|
@@ -1459,7 +1470,8 @@
|
|
|
1459
1470
|
entity_type: [''],
|
|
1460
1471
|
entity_id: [],
|
|
1461
1472
|
file: ['', forms.Validators.required],
|
|
1462
|
-
url: ['', forms.Validators.required]
|
|
1473
|
+
url: ['', forms.Validators.required],
|
|
1474
|
+
file_size: ['', forms.Validators.required],
|
|
1463
1475
|
});
|
|
1464
1476
|
};
|
|
1465
1477
|
EntityFileFormComponent.prototype.ngOnInit = function () {
|
|
@@ -1538,12 +1550,8 @@
|
|
|
1538
1550
|
return [4 /*yield*/, this.entityFileService.uploadEntityFile(this.fileList[0])];
|
|
1539
1551
|
case 1:
|
|
1540
1552
|
result = _c.sent();
|
|
1541
|
-
this.entityFileGroup
|
|
1542
|
-
|
|
1543
|
-
.setValue(result.item.file);
|
|
1544
|
-
this.entityFileGroup
|
|
1545
|
-
.get("url")
|
|
1546
|
-
.setValue(result.item.url);
|
|
1553
|
+
this.entityFileGroup.patchValue(result.item);
|
|
1554
|
+
;
|
|
1547
1555
|
this.fileList = [];
|
|
1548
1556
|
_c.label = 2;
|
|
1549
1557
|
case 2: return [2 /*return*/];
|
|
@@ -1582,7 +1590,7 @@
|
|
|
1582
1590
|
EntityFileFormComponent.decorators = [
|
|
1583
1591
|
{ type: i0.Component, args: [{
|
|
1584
1592
|
selector: 'entity-file-form',
|
|
1585
|
-
template: "<form [formGroup]=\"entityFileGroup\" (ngSubmit)=\"submit()\">\n
|
|
1593
|
+
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-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",
|
|
1586
1594
|
styles: [""]
|
|
1587
1595
|
},] }
|
|
1588
1596
|
];
|
|
@@ -1602,17 +1610,37 @@
|
|
|
1602
1610
|
this.alertService = alertService;
|
|
1603
1611
|
this.dialog = dialog;
|
|
1604
1612
|
this.viewOnly = false;
|
|
1613
|
+
this.title = "File";
|
|
1605
1614
|
this.filters = {};
|
|
1606
1615
|
this.entityFiles = [];
|
|
1607
|
-
this.displayedColumns = [
|
|
1616
|
+
this.displayedColumns = [
|
|
1617
|
+
'index',
|
|
1618
|
+
'title',
|
|
1619
|
+
'details',
|
|
1620
|
+
'file_size',
|
|
1621
|
+
'uploaded_on',
|
|
1622
|
+
];
|
|
1608
1623
|
this.isWorking = false;
|
|
1609
1624
|
this.search = new forms.FormControl('');
|
|
1610
1625
|
this.page = 1;
|
|
1611
1626
|
this.perPage = 25;
|
|
1612
1627
|
this.lastPage = 0;
|
|
1628
|
+
this.fileList = [];
|
|
1613
1629
|
}
|
|
1614
1630
|
EntityFilesViewAllComponent.prototype.ngOnInit = function () {
|
|
1615
1631
|
var _this = this;
|
|
1632
|
+
//File dropper config
|
|
1633
|
+
this.fileConfig = {
|
|
1634
|
+
fileId: "entityDashboardDropper",
|
|
1635
|
+
containerId: "entityDashboardDropperContainer",
|
|
1636
|
+
styles: {
|
|
1637
|
+
height: "500px"
|
|
1638
|
+
},
|
|
1639
|
+
multiple: false,
|
|
1640
|
+
acceptFile: "*",
|
|
1641
|
+
maxSize: 10,
|
|
1642
|
+
acceptFileText: "All Files"
|
|
1643
|
+
};
|
|
1616
1644
|
this.viewerConfig = {
|
|
1617
1645
|
imageStyle: {
|
|
1618
1646
|
height: '200px',
|
|
@@ -1648,6 +1676,7 @@
|
|
|
1648
1676
|
switch (_a.label) {
|
|
1649
1677
|
case 0:
|
|
1650
1678
|
this.filters.page = this.page;
|
|
1679
|
+
this.filters.perPage = this.perPage;
|
|
1651
1680
|
this.isWorking = true;
|
|
1652
1681
|
return [4 /*yield*/, this.entityFileService.getEntityFiles(this.filters)];
|
|
1653
1682
|
case 1:
|
|
@@ -1743,12 +1772,42 @@
|
|
|
1743
1772
|
EntityFilesViewAllComponent.prototype.resetFieldValue = function () {
|
|
1744
1773
|
this.search.setValue("");
|
|
1745
1774
|
};
|
|
1775
|
+
EntityFilesViewAllComponent.prototype.sizeOf = function (bytes) {
|
|
1776
|
+
if (!bytes) {
|
|
1777
|
+
return "0.00 B";
|
|
1778
|
+
}
|
|
1779
|
+
var e = Math.floor(Math.log(bytes) / Math.log(1024));
|
|
1780
|
+
return (bytes / Math.pow(1024, e)).toFixed(2) + ' ' + ' KMGTP'.charAt(e) + 'B';
|
|
1781
|
+
};
|
|
1782
|
+
EntityFilesViewAllComponent.prototype.fileChanged = function (event) {
|
|
1783
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1784
|
+
var result;
|
|
1785
|
+
return __generator(this, function (_a) {
|
|
1786
|
+
switch (_a.label) {
|
|
1787
|
+
case 0:
|
|
1788
|
+
this.fileList = event;
|
|
1789
|
+
if (!(this.fileList.length > 0)) return [3 /*break*/, 2];
|
|
1790
|
+
return [4 /*yield*/, this.entityFileService.uploadEntityFile(this.fileList[0], {
|
|
1791
|
+
entity_type: this.entityType,
|
|
1792
|
+
entity_id: this.entityId,
|
|
1793
|
+
})];
|
|
1794
|
+
case 1:
|
|
1795
|
+
result = _a.sent();
|
|
1796
|
+
this.fileList = [];
|
|
1797
|
+
this.alertService.addAlert('Successfull uploaded', 'success');
|
|
1798
|
+
this.reload();
|
|
1799
|
+
_a.label = 2;
|
|
1800
|
+
case 2: return [2 /*return*/];
|
|
1801
|
+
}
|
|
1802
|
+
});
|
|
1803
|
+
});
|
|
1804
|
+
};
|
|
1746
1805
|
return EntityFilesViewAllComponent;
|
|
1747
1806
|
}());
|
|
1748
1807
|
exports.ɵo.decorators = [
|
|
1749
1808
|
{ type: i0.Component, args: [{
|
|
1750
1809
|
selector: 'app-entity-files-view-all',
|
|
1751
|
-
template: "<div
|
|
1810
|
+
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 <mat-form-field *ngIf=\"!removeSearch\" appearance=\"outline\" style=\"font-size: 10px;\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput [formControl]=\"search\" placeholder=\"Search\" name=\"title\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filters.title\" matSuffix mat-icon-button (click)=\"resetFieldValue()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\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 <!-- 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",
|
|
1752
1811
|
styles: [""]
|
|
1753
1812
|
},] }
|
|
1754
1813
|
];
|
|
@@ -1764,7 +1823,8 @@
|
|
|
1764
1823
|
viewOnly: [{ type: i0.Input }],
|
|
1765
1824
|
removeSearch: [{ type: i0.Input }],
|
|
1766
1825
|
hideTitleAndDetails: [{ type: i0.Input }],
|
|
1767
|
-
displayMode: [{ type: i0.Input }]
|
|
1826
|
+
displayMode: [{ type: i0.Input }],
|
|
1827
|
+
title: [{ type: i0.Input }]
|
|
1768
1828
|
};
|
|
1769
1829
|
exports.ɵo = __decorate([
|
|
1770
1830
|
untilDestroy.UntilDestroy()
|
|
@@ -3514,7 +3574,8 @@
|
|
|
3514
3574
|
chips.MatChipsModule,
|
|
3515
3575
|
datepicker.MatDatepickerModule,
|
|
3516
3576
|
list.MatListModule,
|
|
3517
|
-
tooltip.MatTooltipModule
|
|
3577
|
+
tooltip.MatTooltipModule,
|
|
3578
|
+
buttonToggle.MatButtonToggleModule
|
|
3518
3579
|
]
|
|
3519
3580
|
},] }
|
|
3520
3581
|
];
|
|
@@ -8051,21 +8112,16 @@
|
|
|
8051
8112
|
exports.ɵbt = UpdateViewModule;
|
|
8052
8113
|
exports.ɵbu = UpdateViewComponent;
|
|
8053
8114
|
exports.ɵbv = DataManager;
|
|
8054
|
-
exports.ɵbw =
|
|
8055
|
-
exports.ɵbx =
|
|
8056
|
-
exports.ɵby =
|
|
8057
|
-
exports.ɵbz =
|
|
8115
|
+
exports.ɵbw = ErrorHandlerService;
|
|
8116
|
+
exports.ɵbx = FieldMappingComponent;
|
|
8117
|
+
exports.ɵby = FailedItemsListComponent;
|
|
8118
|
+
exports.ɵbz = ImportHistoryListComponent;
|
|
8058
8119
|
exports.ɵc = ErrorSnackComponent;
|
|
8059
|
-
exports.ɵca =
|
|
8060
|
-
exports.ɵcb =
|
|
8061
|
-
exports.ɵcc =
|
|
8062
|
-
exports.ɵcd =
|
|
8063
|
-
exports.ɵce =
|
|
8064
|
-
exports.ɵcf = StorageService;
|
|
8065
|
-
exports.ɵcg = TechlifyFeatureService;
|
|
8066
|
-
exports.ɵch = DataManager;
|
|
8067
|
-
exports.ɵci = AuthenticationGuard;
|
|
8068
|
-
exports.ɵcj = OnOffSwitchComponent;
|
|
8120
|
+
exports.ɵca = ImportSuccessComponent;
|
|
8121
|
+
exports.ɵcb = DataImportComponent;
|
|
8122
|
+
exports.ɵcc = StorageService;
|
|
8123
|
+
exports.ɵcd = TechlifyFeatureService;
|
|
8124
|
+
exports.ɵce = OnOffSwitchComponent;
|
|
8069
8125
|
exports.ɵd = HTTP_DYNAMIC_INTERCEPTORS;
|
|
8070
8126
|
exports.ɵe = HttpService;
|
|
8071
8127
|
exports.ɵf = RouteReusableStrategy;
|