@abp/ng.theme.shared 4.4.0 → 4.4.4
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/abp-ng.theme.shared-extensions.umd.js +15 -2
- package/bundles/abp-ng.theme.shared-extensions.umd.js.map +1 -1
- package/bundles/abp-ng.theme.shared-extensions.umd.min.js +1 -1
- package/bundles/abp-ng.theme.shared-extensions.umd.min.js.map +1 -1
- package/esm2015/extensions/lib/adapters/date.adapter.js +12 -2
- package/esm2015/extensions/lib/components/extensible-table/extensible-table.component.js +6 -3
- package/extensions/abp-ng.theme.shared-extensions.metadata.json +1 -1
- package/extensions/lib/adapters/date.adapter.d.ts +1 -0
- package/extensions/lib/components/extensible-table/extensible-table.component.d.ts +1 -0
- package/fesm2015/abp-ng.theme.shared-extensions.js +16 -3
- package/fesm2015/abp-ng.theme.shared-extensions.js.map +1 -1
- package/package.json +2 -2
|
@@ -388,7 +388,13 @@
|
|
|
388
388
|
DateAdapter.prototype.fromModel = function (value) {
|
|
389
389
|
if (!value)
|
|
390
390
|
return null;
|
|
391
|
-
var date
|
|
391
|
+
var date;
|
|
392
|
+
if (typeof value === 'string') {
|
|
393
|
+
date = this.dateOf(value);
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
date = new Date(value);
|
|
397
|
+
}
|
|
392
398
|
if (isNaN(date))
|
|
393
399
|
return null;
|
|
394
400
|
return {
|
|
@@ -404,6 +410,10 @@
|
|
|
404
410
|
var formattedDate = common.formatDate(date, 'yyyy-MM-dd', 'en');
|
|
405
411
|
return formattedDate;
|
|
406
412
|
};
|
|
413
|
+
DateAdapter.prototype.dateOf = function (value) {
|
|
414
|
+
var dateUtc = new Date(Date.parse(value));
|
|
415
|
+
return new Date(dateUtc.getTime() + Math.abs(dateUtc.getTimezoneOffset() * 60000));
|
|
416
|
+
};
|
|
407
417
|
return DateAdapter;
|
|
408
418
|
}(ngBootstrap.NgbDateAdapter));
|
|
409
419
|
DateAdapter.decorators = [
|
|
@@ -1144,6 +1154,9 @@
|
|
|
1144
1154
|
this.propList = extensions.entityProps.get(name).props;
|
|
1145
1155
|
this.actionList = extensions['entityActions'].get(name)
|
|
1146
1156
|
.actions;
|
|
1157
|
+
var permissionService = injector.get(ng_core.PermissionService);
|
|
1158
|
+
this.hasAtLeastOnePermittedAction =
|
|
1159
|
+
permissionService.filterItemsByPolicy(this.actionList.toArray().map(function (action) { return ({ requiredPolicy: action.permission }); })).length > 0;
|
|
1147
1160
|
this.setColumnWidths(DEFAULT_ACTIONS_COLUMN_WIDTH);
|
|
1148
1161
|
}
|
|
1149
1162
|
Object.defineProperty(ExtensibleTableComponent.prototype, "actionsText", {
|
|
@@ -1220,7 +1233,7 @@
|
|
|
1220
1233
|
{ type: i0.Component, args: [{
|
|
1221
1234
|
exportAs: 'abpExtensibleTable',
|
|
1222
1235
|
selector: 'abp-extensible-table',
|
|
1223
|
-
template: "<ngx-datatable default [rows]=\"data\" [count]=\"recordsTotal\" [list]=\"list\">\n <ngx-datatable-column\n *ngIf=\"actionsTemplate || actionList.length\"\n [name]=\"actionsText | abpLocalization\"\n [maxWidth]=\"columnWidths[0]\"\n [width]=\"columnWidths[0]\"\n [sortable]=\"false\"\n >\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate || gridActions; context: { $implicit: row, index: i }\"\n ></ng-container>\n <ng-template #gridActions>\n <abp-grid-actions [index]=\"i\" [record]=\"row\" text=\"AbpUi::Actions\"></abp-grid-actions>\n </ng-template>\n </ng-template>\n </ngx-datatable-column>\n\n <ng-container *ngFor=\"let prop of propList; let i = index; trackBy: trackByFn\">\n <ngx-datatable-column\n [width]=\"columnWidths[i + 1] || 200\"\n [name]=\"prop.displayName | abpLocalization\"\n [prop]=\"prop.name\"\n [sortable]=\"prop.sortable\"\n >\n <ng-template let-row=\"row\" let-i=\"index\" ngx-datatable-cell-template>\n <ng-container *abpPermission=\"prop.permission\">\n <div\n *ngIf=\"row['_' + prop.name]
|
|
1236
|
+
template: "<ngx-datatable default [rows]=\"data\" [count]=\"recordsTotal\" [list]=\"list\">\n <ngx-datatable-column\n *ngIf=\"actionsTemplate || (actionList.length && hasAtLeastOnePermittedAction)\"\n [name]=\"actionsText | abpLocalization\"\n [maxWidth]=\"columnWidths[0]\"\n [width]=\"columnWidths[0]\"\n [sortable]=\"false\"\n >\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate || gridActions; context: { $implicit: row, index: i }\"\n ></ng-container>\n <ng-template #gridActions>\n <abp-grid-actions [index]=\"i\" [record]=\"row\" text=\"AbpUi::Actions\"></abp-grid-actions>\n </ng-template>\n </ng-template>\n </ngx-datatable-column>\n\n <ng-container *ngFor=\"let prop of propList; let i = index; trackBy: trackByFn\">\n <ngx-datatable-column\n [width]=\"columnWidths[i + 1] || 200\"\n [name]=\"prop.displayName | abpLocalization\"\n [prop]=\"prop.name\"\n [sortable]=\"prop.sortable\"\n >\n <ng-template let-row=\"row\" let-i=\"index\" ngx-datatable-cell-template>\n <ng-container *abpPermission=\"prop.permission\">\n <div\n *ngIf=\"row['_' + prop.name]?.visible\"\n [innerHTML]=\"row['_' + prop.name]?.value | async\"\n (click)=\"\n prop.action && prop.action({ getInjected: getInjected, record: row, index: i })\n \"\n [class.pointer]=\"prop.action\"\n ></div>\n </ng-container>\n </ng-template>\n </ngx-datatable-column>\n </ng-container>\n</ngx-datatable>\n",
|
|
1224
1237
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
1225
1238
|
},] }
|
|
1226
1239
|
];
|