@rxap/directives
Version:
This package provides a set of Angular directives to simplify common tasks such as setting background images, confirming clicks, making elements contenteditable, and more. It includes directives for handling UI interactions, applying styles, and managing
47 lines (46 loc) • 2.83 kB
TypeScript
import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
import { ToggleSubject } from '@rxap/rxjs';
import { Method } from '@rxap/pattern';
import * as i0 from "@angular/core";
export interface MethodTemplateDirectiveContext<ReturnType = any> {
$implicit: ReturnType;
}
export interface MethodTemplateDirectiveErrorContext {
$implicit: Error;
message: string;
}
export declare class MethodTemplateDirective<ReturnType = any, Parameters = any> implements OnInit, OnChanges {
private readonly template;
private readonly viewContainerRef;
protected readonly cdr: ChangeDetectorRef;
method: Method<ReturnType, Parameters>;
parameters?: Parameters;
errorTemplate?: TemplateRef<MethodTemplateDirectiveErrorContext>;
loadingTemplate?: TemplateRef<void>;
withoutParameters: boolean;
immediately: boolean;
executed$: EventEmitter<any>;
failure$: EventEmitter<Error>;
successful$: EventEmitter<ReturnType>;
/**
* true - a remote method call is in progress
*/
executing$: ToggleSubject;
embedded: EventEmitter<any>;
constructor(template: TemplateRef<MethodTemplateDirectiveContext<ReturnType>>, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef);
static ngTemplateContextGuard<T>(dir: MethodTemplateDirective<T>, ctx: any): ctx is MethodTemplateDirectiveContext<T>;
ngOnChanges(changes: SimpleChanges): void;
ngOnInit(): void;
onConfirmed(): Promise<void>;
execute(parameters?: Parameters | undefined): Promise<void>;
setParameter<Key extends keyof Parameters>(parameterKey: Key, value: Parameters[Key]): void;
updateParameters(parameters: Partial<Parameters>): void;
protected executed(result: any): void;
protected failure(error: Error): void;
protected successful(result: ReturnType): void;
protected renderErrorTemplate(error: Error): void;
protected renderTemplate(result: ReturnType): void;
private renderLoadingTemplate;
static ɵfac: i0.ɵɵFactoryDeclaration<MethodTemplateDirective<any, any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MethodTemplateDirective<any, any>, "[rxapMethod]", ["rxapMethod"], { "method": { "alias": "rxapMethodCall"; "required": false; }; "parameters": { "alias": "rxapMethodParameters"; "required": false; }; "errorTemplate": { "alias": "rxapMethodError"; "required": false; }; "loadingTemplate": { "alias": "rxapMethodLoading"; "required": false; }; "withoutParameters": { "alias": "rxapMethodWithoutParameters"; "required": false; }; "immediately": { "alias": "immediately"; "required": false; }; }, { "executed$": "executed"; "failure$": "failure"; "successful$": "successful"; "executing$": "executing"; "embedded": "embedded"; }, never, never, true, never>;
}