File: src/definitions.d.ts

Recommend this page to a friend!
  Classes of Logik group   Angular Moment Picker   src/definitions.d.ts   Download  
File: src/definitions.d.ts
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Angular Moment Picker
Pick times and dates in Angular.js applications
Author: By
Last change: Update of src/definitions.d.ts
Date: 2 years ago
Size: 3,601 bytes
 

Contents

Class file image Download
import * as angular from 'angular'; import * as moment from 'moment'; import { IProviderOptions } from './provider'; export type ViewString = 'decade' | 'year' | 'month' | 'day' | 'hour' | 'minute'; export type Value = string | number; export type Position = 'top left' | 'top right' | 'bottom left' | 'bottom right'; export interface IDirectiveScope extends ng.IScope { value?: Value; model?: moment.Moment; locale?: string; format?: string; minView?: ViewString; maxView?: ViewString; startView?: ViewString; minDate?: Value; maxDate?: Value; startDate?: Value; disabled?: boolean; position?: Position; inline?: boolean; validate?: boolean; autoclose?: boolean; setOnSelect?: boolean; isOpen?: boolean; today?: boolean; keyboard?: boolean; additions?: { top?: string; bottom?: string }; change?: (context: any) => boolean; selectable?: (context: any) => boolean; } export interface IUtility { isValidMoment: (value: any) => boolean; toValue: (date: any) => Value; toMoment: (date: any) => moment.Moment; momentToValue: (momentObject: moment.Moment) => Value; valueToMoment: (formattedValue: Value) => moment.Moment; setValue: (value: any) => void; } export interface IViewItem { index: number; label: string; year?: number; month?: number; date?: number; hour?: number; minute?: number; second?: number; class: string; selectable: boolean; } export interface IView { perLine: number; headers?: string[]; rows: { [index: number]: IViewItem[] }; render(): string; // return view title set(value: IViewItem): void; highlightClosest?(): void; } export interface IViewHeaderButton { selectable: boolean; label: string; set: () => void; } export interface IDirectiveScopeInternal extends IDirectiveScope, IProviderOptions { // utilities limits: { minDate: moment.Moment; maxDate: moment.Moment; isAfterOrEqualMin: (value: moment.Moment, precision?: moment.unitOfTime.StartOf) => boolean; isBeforeOrEqualMax: (value: moment.Moment, precision?: moment.unitOfTime.StartOf) => boolean; isSelectable: (value: moment.Moment, precision?: moment.unitOfTime.StartOf) => boolean; checkValue: () => void; checkView: () => void; }; // views views: { all: ViewString[]; precisions: { [viewString: string]: moment.unitOfTime.StartOf }; formats: { [viewString: string]: string }; detectMinMax: () => void; // specific view controllers decade: IView; year: IView; month: IView; day: IView; hour: IView; minute: IView; }; // current view view: { moment: moment.Moment; value: Value; isOpen: boolean; selected: ViewString; update: () => void; toggle: () => void; open: () => void; close: () => void; position: () => void; keydown: (e: JQueryEventObject) => void; // utility unit: () => number; precision: () => moment.unitOfTime.DurationConstructor; // header title: string; previous: IViewHeaderButton; next: IViewHeaderButton; setParentView: () => void; // body render: () => void; change: (view?: ViewString) => void; }; // limits detection detectedMinView: ViewString; detectedMaxView: ViewString; // elements picker: ng.IAugmentedJQuery; container: ng.IAugmentedJQuery; input: ng.IAugmentedJQuery; } export interface IModelValidators extends ng.IModelValidators { minDate: (modelValue: moment.Moment, viewValue: string) => boolean; maxDate: (modelValue: moment.Moment, viewValue: string) => boolean; } export interface IModelController extends ng.INgModelController { $validators: IModelValidators; $modelValue: moment.Moment; $viewValue: string; }