mframejs
Version:
simple framework
52 lines (51 loc) • 1.8 kB
TypeScript
import { IAttribute, IBindingContext } from '../interface/exported';
import { AttributeController } from '../view/exported';
import { ViewController } from '../view/exported';
import { ArrayMethodCallHandler, ArrayPropertyChange } from './repeatAttributeSubscriberHelpers';
export interface ITemplateArray {
template: Node | Element | Node[] | Element[];
ctx: IBindingContext;
$view: ViewController;
}
export declare class RepeatAttribute implements IAttribute {
$element: HTMLElement;
$attribute: Attr;
$bindingContext: IBindingContext;
$controller: AttributeController;
value: any;
isAttached: boolean;
private elementClone;
private anchor;
arrayVariableName: string;
arrayExpression: string;
rowInstanceName: string;
arrayMethodCallHandler: ArrayMethodCallHandler;
arrayPropertyChangeHandler: ArrayPropertyChange;
private propertyChangeHandlerSimple;
templateArray: ITemplateArray[];
loopBinded: Function;
private repeatForArray;
private $view;
arrayType: string;
arrayPropertyChangeHandlerLocal: ArrayPropertyChange;
$array: any;
private templateElement;
private cache;
setArrayLocalVariables(ctx: any, i: number): void;
created(): void;
loopArray(changed?: boolean, remove?: number, add?: number): void;
loopArrayNumber(changed?: boolean, remove?: number, add?: number): void;
detached(): void;
attached(): void;
subscribeArray(): void;
subscribePropArray(): void;
subscribePropSimple(): void;
push(ctx: any, i?: number): void;
pop(): void;
updateInternals(): void;
shift(): void;
splice(args: any): void;
clearTemplateArray(): void;
private remove;
private clearInRow;
}