@firestitch/list 9.12.1 → 9.12.2
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/app/components/body/row/menu-action/menu-action.component.d.ts +2 -2
- package/app/interfaces/listconfig.interface.d.ts +12 -5
- package/app/models/row-action.model.d.ts +2 -4
- package/bundles/firestitch-list.umd.js +9 -13
- package/bundles/firestitch-list.umd.js.map +1 -1
- package/bundles/firestitch-list.umd.min.js +1 -1
- package/bundles/firestitch-list.umd.min.js.map +1 -1
- package/esm2015/app/components/body/row/actions/actions.component.js +2 -2
- package/esm2015/app/components/body/row/inline-action/inline-action.component.js +2 -2
- package/esm2015/app/components/body/row/menu-action/menu-action.component.js +3 -7
- package/esm2015/app/interfaces/listconfig.interface.js +1 -1
- package/esm2015/app/models/row-action.model.js +6 -6
- package/esm2015/public_api.js +1 -1
- package/esm5/app/components/body/row/actions/actions.component.js +2 -2
- package/esm5/app/components/body/row/inline-action/inline-action.component.js +2 -2
- package/esm5/app/components/body/row/menu-action/menu-action.component.js +3 -7
- package/esm5/app/interfaces/listconfig.interface.js +1 -1
- package/esm5/app/models/row-action.model.js +7 -7
- package/esm5/public_api.js +1 -1
- package/fesm2015/firestitch-list.js +9 -13
- package/fesm2015/firestitch-list.js.map +1 -1
- package/fesm5/firestitch-list.js +9 -13
- package/fesm5/firestitch-list.js.map +1 -1
- package/firestitch-list.metadata.json +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FsListRowActionFile } from '../../../../interfaces/listconfig.interface';
|
|
2
3
|
export declare class FsRowMenuActionComponent {
|
|
3
4
|
icon: string;
|
|
4
5
|
label: string;
|
|
5
|
-
file:
|
|
6
|
-
fileMultiple: boolean;
|
|
6
|
+
file: FsListRowActionFile;
|
|
7
7
|
fileSelect: EventEmitter<any>;
|
|
8
8
|
fileError: EventEmitter<any>;
|
|
9
9
|
}
|
|
@@ -151,11 +151,7 @@ export interface FsListRowAction {
|
|
|
151
151
|
menu?: boolean;
|
|
152
152
|
click?: (row: any, event: any, index: any) => void;
|
|
153
153
|
link?: FsListRowActionLinkFn;
|
|
154
|
-
file?:
|
|
155
|
-
select: FsListRowActionFileFn;
|
|
156
|
-
error?: (error: unknown) => void;
|
|
157
|
-
multiple?: boolean;
|
|
158
|
-
};
|
|
154
|
+
file?: FsListRowActionFile;
|
|
159
155
|
show?: (row: any, index: number) => boolean;
|
|
160
156
|
remove?: {
|
|
161
157
|
title?: string;
|
|
@@ -172,6 +168,17 @@ export interface FsListRowActionLinkFn {
|
|
|
172
168
|
export interface FsListRowActionLabelFn {
|
|
173
169
|
(row: FsListAbstractRow): string;
|
|
174
170
|
}
|
|
171
|
+
export interface FsListRowActionFile {
|
|
172
|
+
select: FsListRowActionFileFn;
|
|
173
|
+
error?: (error: unknown) => void;
|
|
174
|
+
multiple?: boolean;
|
|
175
|
+
accept?: string;
|
|
176
|
+
minWidth?: number;
|
|
177
|
+
minHeight?: number;
|
|
178
|
+
maxWidth?: number;
|
|
179
|
+
maxHeight?: number;
|
|
180
|
+
imageQuality?: number;
|
|
181
|
+
}
|
|
175
182
|
export interface FsListRowActionLink {
|
|
176
183
|
link: any[] | string;
|
|
177
184
|
queryParams?: Record<string, any>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Model } from 'tsmodels';
|
|
2
2
|
import { ActionType } from '../enums/button-type.enum';
|
|
3
|
-
import {
|
|
3
|
+
import { FsListRowActionFile, FsListRowActionLink } from '../interfaces';
|
|
4
4
|
export declare class RowAction extends Model {
|
|
5
5
|
icon: string;
|
|
6
6
|
menu: boolean;
|
|
@@ -18,9 +18,7 @@ export declare class RowAction extends Model {
|
|
|
18
18
|
classArray: string[];
|
|
19
19
|
isShown: boolean;
|
|
20
20
|
click: Function;
|
|
21
|
-
|
|
22
|
-
fileUploadErrorFn: (error: unknown) => void;
|
|
23
|
-
fileMultiple: boolean;
|
|
21
|
+
fileConfig: FsListRowActionFile;
|
|
24
22
|
private _linkFn;
|
|
25
23
|
private _labelFn;
|
|
26
24
|
private readonly _isGroup;
|
|
@@ -551,13 +551,13 @@
|
|
|
551
551
|
};
|
|
552
552
|
this._linkFn = value.link;
|
|
553
553
|
if (value.file) {
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
554
|
+
this.fileConfig = __assign({}, value.file);
|
|
555
|
+
if (this.fileConfig.select) {
|
|
556
|
+
var selectFn_1 = this.fileConfig.select;
|
|
557
|
+
this.fileConfig.select = function (selection, row, index) {
|
|
558
|
+
selectFn_1(selection, row, index);
|
|
557
559
|
};
|
|
558
560
|
}
|
|
559
|
-
this.fileUploadErrorFn = value.file.error;
|
|
560
|
-
this.fileMultiple = value.file.multiple;
|
|
561
561
|
}
|
|
562
562
|
if (typeof value.label === 'function') {
|
|
563
563
|
this._labelFn = value.label;
|
|
@@ -5872,7 +5872,7 @@
|
|
|
5872
5872
|
FsRowActionsComponent = __decorate([
|
|
5873
5873
|
core.Component({
|
|
5874
5874
|
selector: 'fs-list-row-actions',
|
|
5875
|
-
template: "<ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <fs-list-row-inline-action class=\"row-inline-action row-inline-action-{{action.type}}\"\n [action]=\"action\"\n [ngClass]=\"{'mobile-hide': action.menu === undefined}\"\n (clicked)=\"actionClick(action, row, $event)\"\n (fileSelect)=\"action.
|
|
5875
|
+
template: "<ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <fs-list-row-inline-action class=\"row-inline-action row-inline-action-{{action.type}}\"\n [action]=\"action\"\n [ngClass]=\"{'mobile-hide': action.menu === undefined}\"\n (clicked)=\"actionClick(action, row, $event)\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\">\n </fs-list-row-inline-action>\n </ng-container>\n</ng-container>\n\n<!-- Menu -->\n<fs-menu class=\"row-menu-action\"\n *ngIf=\"menuRowActions.length || (restoreMode && restoreAction)\"\n (click)=\"clickOnTrigger($event)\"\n #menuRef\n>\n <!-- Case when we have usual menu actions -->\n <ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <ng-template class=\"hidden-mobile-menu-action\"\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.menu !== undefined && !action.isShown\">\n <fs-list-row-menu-action\n [icon]=\"action.icon\"\n [label]=\"action.label\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n </ng-container>\n\n <ng-container *ngFor=\"let action of menuRowActions; trackBy: trackByFn\">\n <ng-container *ngIf=\"action.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"action.label\">\n <ng-container *ngFor=\"let subAction of action.rowActions\">\n <ng-template fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [target]=\"subAction.routerLink?.target\"\n [hidden]=\"!subAction.isShown\"\n (click)=\"actionClick(subAction, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [icon]=\"subAction.icon\"\n [label]=\"subAction.label\"\n [file]=\"subAction.fileConfig\"\n (fileSelect)=\"subAction.fileConfig.select($event, row, index)\"\n (fileError)=\"subAction.fileConfig.error && subAction.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"!action.isShown\"\n (click)=\"actionClick(action, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [icon]=\"action.icon\"\n [label]=\"action.label\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- Case when we have restore mode enabled and must hide menu actions -->\n <ng-container *ngIf=\"restoreMode && restoreAction\">\n <ng-template fs-menu-item (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\n <mat-icon *ngIf=\"restoreAction.icon\">{{restoreAction.icon}}</mat-icon>\n {{restoreAction.label}}\n </ng-template>\n </ng-container>\n</fs-menu>\n",
|
|
5876
5876
|
changeDetection: core.ChangeDetectionStrategy.OnPush
|
|
5877
5877
|
}),
|
|
5878
5878
|
__metadata("design:paramtypes", [prompt.FsPrompt])
|
|
@@ -5910,7 +5910,7 @@
|
|
|
5910
5910
|
FsRowInlineActionComponent = __decorate([
|
|
5911
5911
|
core.Component({
|
|
5912
5912
|
selector: 'fs-list-row-inline-action',
|
|
5913
|
-
template: "<ng-container *ngIf=\"action.isShown\" [ngSwitch]=\"action.type\">\n <!-- Basic button -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Raised button -->\n <ng-container *ngSwitchCase=\"'raised'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-raised-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Icon button -->\n <ng-container *ngSwitchCase=\"'icon'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-icon-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Fab button -->\n <ng-container *ngSwitchCase=\"'fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Mini Fab button -->\n <ng-container *ngSwitchCase=\"'mini-fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-mini-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!action.
|
|
5913
|
+
template: "<ng-container *ngIf=\"action.isShown\" [ngSwitch]=\"action.type\">\n <!-- Basic button -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Raised button -->\n <ng-container *ngSwitchCase=\"'raised'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-raised-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Icon button -->\n <ng-container *ngSwitchCase=\"'icon'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-icon-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Fab button -->\n <ng-container *ngSwitchCase=\"'fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Mini Fab button -->\n <ng-container *ngSwitchCase=\"'mini-fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-mini-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!action.fileConfig else uploadFileBtn\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\n </ng-container>\n\n <ng-template #uploadFileBtn>\n <fs-file\n class=\"action-button\"\n [accept]=\"action.fileConfig.accept || '*'\"\n [multiple]=\"action.fileConfig.multiple\"\n [minWidth]=\"action.fileConfig.minWidth\"\n [minHeight]=\"action.fileConfig.minHeight\"\n [imageWidth]=\"action.fileConfig.maxWidth\"\n [imageHeight]=\"action.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\n </fs-file>\n </ng-template>\n </ng-template>\n</ng-container>\n",
|
|
5914
5914
|
changeDetection: core.ChangeDetectionStrategy.OnPush
|
|
5915
5915
|
}),
|
|
5916
5916
|
__metadata("design:paramtypes", [prompt.FsPrompt])
|
|
@@ -5933,12 +5933,8 @@
|
|
|
5933
5933
|
], FsRowMenuActionComponent.prototype, "label", void 0);
|
|
5934
5934
|
__decorate([
|
|
5935
5935
|
core.Input(),
|
|
5936
|
-
__metadata("design:type",
|
|
5936
|
+
__metadata("design:type", Object)
|
|
5937
5937
|
], FsRowMenuActionComponent.prototype, "file", void 0);
|
|
5938
|
-
__decorate([
|
|
5939
|
-
core.Input(),
|
|
5940
|
-
__metadata("design:type", Boolean)
|
|
5941
|
-
], FsRowMenuActionComponent.prototype, "fileMultiple", void 0);
|
|
5942
5938
|
__decorate([
|
|
5943
5939
|
core.Output(),
|
|
5944
5940
|
__metadata("design:type", Object)
|
|
@@ -5950,7 +5946,7 @@
|
|
|
5950
5946
|
FsRowMenuActionComponent = __decorate([
|
|
5951
5947
|
core.Component({
|
|
5952
5948
|
selector: 'fs-list-row-menu-action',
|
|
5953
|
-
template: "<ng-container *ngIf=\"!file else withFile\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n {{label}}\n</ng-container>\n\n<ng-template #withFile>\n <fs-file\n class=\"action-button\"\n [multiple]=\"
|
|
5949
|
+
template: "<ng-container *ngIf=\"!file else withFile\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n {{label}}\n</ng-container>\n\n<ng-template #withFile>\n <fs-file\n class=\"action-button\"\n [accept]=\"file.accept || '*'\"\n [multiple]=\"file.multiple\"\n [minWidth]=\"file.minWidth\"\n [minHeight]=\"file.minHeight\"\n [imageWidth]=\"file.maxWidth\"\n [imageHeight]=\"file.maxHeight\"\n (select)=\"fileSelect.emit($event)\"\n (error)=\"fileError.emit($event)\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n {{label}}\n </fs-file>\n</ng-template>\n",
|
|
5954
5950
|
changeDetection: core.ChangeDetectionStrategy.OnPush
|
|
5955
5951
|
})
|
|
5956
5952
|
], FsRowMenuActionComponent);
|