nm-actionbar
src/app/shared/widgets/actionbar/actionbar.component.ts
selector | nm-actionbar |
styleUrls | actionbar.component.scss |
templateUrl | ./actionbar.component.html |
Widget inputs |
Widget outputs |
Properties |
|
Methods |
|
Protected configureWidget | ||||||
configureWidget(configuration: WidgetConfig)
|
||||||
Decorators : WidgetConfigure
|
||||||
Parameters :
Returns :
void
|
Public configuration |
configuration:
|
Type : WidgetConfig
|
Decorators : WidgetConfiguration
|
Public hide |
hide:
|
Default value : new Subject<boolean>()
|
Decorators : WidgetInput
|
Public hideSaveButton |
hideSaveButton:
|
Type : boolean
|
Public isDisabled |
isDisabled:
|
Default value : new BehaviorSubject<boolean>(true)
|
Decorators : WidgetInput
|
Public isEditMode |
isEditMode:
|
Type : boolean
|
Public reset |
reset:
|
Default value : new ReplaySubject<any>(1)
|
Decorators : WidgetOutput
|
Public save |
save:
|
Default value : new ReplaySubject<any>(1)
|
Decorators : WidgetOutput
|
Public widgetId |
widgetId:
|
Type : string
|
Decorators : WidgetId
|
import { Component } from "@angular/core";
import { ReplaySubject, BehaviorSubject, Subject } from "rxjs";
import {
WidgetComponent,
WidgetId,
WidgetConfiguration,
WidgetOutput,
WidgetInput,
WidgetConfigure,
} from "../widget.metadata";
import { WidgetConfig, getOrDefault } from "../widget.configuration";
@WidgetComponent("nm-actionbar")
@Component({
selector: "nm-actionbar",
templateUrl: "./actionbar.component.html",
styleUrls: ["./actionbar.component.scss"],
})
export class ActionbarWidgetComponent {
@WidgetId()
public widgetId: string;
@WidgetConfiguration()
public configuration: WidgetConfig;
@WidgetOutput("save")
public save = new ReplaySubject<any>(1);
@WidgetOutput("reset")
public reset = new ReplaySubject<any>(1);
@WidgetInput("isDisabled")
public isDisabled = new BehaviorSubject<boolean>(true);
@WidgetInput("hide")
public hide = new Subject<boolean>();
public isEditMode: boolean;
public hideSaveButton: boolean;
@WidgetConfigure()
protected configureWidget(configuration: WidgetConfig) {
this.isEditMode = getOrDefault(
this.configuration.configuration.isEditMode,
true
);
this.hideSaveButton = getOrDefault(
this.configuration.configuration.hideSaveButton,
false
);
}
}
<mat-card [class.--visible]="!(isDisabled | async)">
<nm-attribute-units-actionbar
(saveAction)="save.next($event)"
(resetAction)="reset.next($event)"
[isEnabled]="!(isDisabled | async)"
[isEditMode]="isEditMode"
[hideSaveButton]="hideSaveButton"
[class.nm-fixed-toolbar-show-icons]="false"
[class.hidden]="hide | async"
>
</nm-attribute-units-actionbar>
</mat-card>